728x90
예제 코드 : https://github.com/HwangSaw/CSharpNetwork/tree/25d817dac1ac5c7b26cf9db774e1438948d5d8fe
- ○ 1강 네트워크 기본 구조와 원리 (1/2)
§ 목차
§ 서버와 클라이언트를 바로 알자
§ TCP/IP서버와 클라이언트
□ TCP서버와 클라이언트
□ UDP 서버와 클라이언트
§ [ 1.1 서버와 클라이언트 ]
○ 네트워크의 기본개념
▪ 프로토콜 (protocol )
: 인터넷 상에서 컴퓨터 간의 데이터를 주고 받기 위한 약속된 형식 -> 통신 규약
▪ OSI 7 계층
:컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 구분하여 규정 -> 프로토콜을 기능별로 구분
- 응용 프로그램 계층
- 프리젠테이션 계층
- 세션 계층
- 전송계층
- 네트워크 계층
- 데이터 링크 계층
- 물리계층
▪ 서버 (server )
- 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
- 컴퓨터(== 하드웨어도 포함! )
- 프로그램 : ex ) msSQL
- 웹서버 ( IIS :MS에서 나온것 웹서버를 띄워주는 웹서버 프로그램 ) 서버 프로그램이 돌고있는 컴퓨터를 서버, 라고하고 서버에는 서버 프로그램이 돌고있어야지 서버 라고할수있다.
▪ 클라이언트
- 네트워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램 또는 사용자 컴퓨터
- 대표적 클라이언트 프로그램 : 게임 실행파일(클라이언트) , 웹브라우저( 인터넷익스플로러 크롬)
- 사용자 입장에서 실행파일 :클라이언트!!
▪ 네트워크 프로그래밍
- 결국 서버프로그래밍 + 클라이언트 프로그래밍 둘다를 합쳐서 네트워크 프로그래밍이라고한다.
§ [1.2 TCP/IP 서버와 클라이언트 ]
○ TCP/IP
▪ 전송계층
▪ 운영체제의 일부로 구현되어 있음
- 즉 OS가 제공해주는 tCP/IP라는 서비스를 이용하는것이다. 이용하되 코드로 이용하는것 C#에서는 클래스로 제공해주고있다.
▪ 전송방식
- TCP (Transmission Control Protocol ) 에러검출, 재전송 등 데이터 신뢰성
◊ TCP는 데이터가 안보내졌다던가 에러검출등 안정성 검사나 제어를 등을 다양하게 해결해주고있다.
◊ 받는사람 보내는사람입장에서 데이터가 안정적이다.
- UDP 빠른 전송
◊ 그냥 쏘기만한다. 에러검출등 재전송등 다뺌
◊ 그냥 데이터만 보내고 오면 받기만한다. 그렇기때문에 TCP 보다 빠르다.!
◊ EX) 메일같은건 UDP 를 쓴다.
▪ 서버에서 다수 클라이언트 응용 프로그램 구분방법?
- 서버에는 다수의 클라이언트 프로그램이 접근가능, 서버에서는 해당 클라이언트 프로그램을 구별해서 각 필요한 서버에 연결해줘야하는데 그걸위해 port번호를 사용한다.
▪ 포트(port) 번호
- 접속된 다수의 응용프로그램을 구분하기 위한 번호
▪ 포트번호의 범위
- 0~ 65535 포트의 총범위
◊ 예약된번호 : 0~1023 :
- 1024 ~ 49151 중 하나 선택 : 이미 예약된번호가 있기때문에 결국 이 범위만 사용가능
- 포트번호 7 : 에코(echo )
728x90
'기타 공부 기록 > csharpnetwork인강' 카테고리의 다른 글
네트워크 클래스 (4/5) (0) | 2022.01.12 |
---|---|
네트워크 클래스 (2/5) (0) | 2022.01.11 |
네트워크 클래스 (3/5) (0) | 2022.01.11 |
( 네트워크 클래스 1/5 ) (0) | 2022.01.07 |
( 네트워크 기본 구조와 원리 2/2 ) (0) | 2022.01.07 |