클라이언트/서버 애플리케이션 역할
- 다중화와 역다중화
- TCP/IP는 여러 애플리케이션이 한 장비의 동일한 IP 소프트웨어를 사용하여 동시에 송수신을 할 수 있도록 설계됐다.
- 이를 위해서는 여러 출처에서 온 데이터를 다중화하여 IP 계층으로 전달해야 한다.
- 그리고 IP 데이터그램 스트림을 수신할 때에도 그것을 역다중화하여 각 애플리케이션 소프트웨어 인스턴스에게 적절한 데이터를 제공해야 한다.
- TCP/IP 클라이언트 프로세스와 서버 프로세스
TCP/IP 포트: TCP/UDP 주소지정
- 포트를 이용한 다중화와 역다중화 - 포트 이용
- 출발지 포트와 목적지 포트번호
- UDP와 TCP 메시지에는 두 개의 필드가 있다
- 출발지 포트
- 목적지 포트
- TCP와 UDP 포트번호는 길이가 16비트다
- 0에서 65,535까지의 값을 가질 수 있다
- UDP와 TCP가 동일한 범위의 포트를 사용
- UDP 포트번호 77이 가리키는 애플리케이션 프로세스는 TCP 포트번호 77이 가리키는 것과 다를 수 있다.
- TCP/IP 전송 계층 주소지정은 TCP와 UDP 포트(port)를 통해 이뤄진다. 특정 IP 장비에서 각 포트번호는 특정 소프트웨어 프로세스를 식별한다.
- 데이터그램 송신과 수신에서 포트 사용 요약
- TCP/IP의 애플리케이션 프로세스 다중화와 역다중화는 IP의 프로토콜 필드와 UDP/TCP의 출발지 포트/목적 포트 필드를 통해 구현된다.
- 송신 시에 프로토콜 필드는 TCP 또는 UDP 중 사용된 것으로 설정되며 포트번호는 송신/수신 소프트웨어 프로세스를 가리키도록 설정된다.
- 데이터그램을 수신하는 장비는 프로토콜 필드를 보고 TCP와 UDP 중 어떤 것이 쓰였는지 판단하고, 목적지 포트번호가 가리키는 소프트웨어로 데이터를 전달한다.
TCP/IP 애플리케이션 할당과 서버 포트 범위
- 예약 포트번호
- 클라이언트 장비가 TCP/IP 서버에 좀더 쉽게 연결을 수립할 수 있도록 하기 위해, 널리 쓰이는 애플리케이션의 서버 프로세스느느 예약된 포트번호를 사용한다.
- 클라이언트는 기본적으로 그 예약 포트번호를 사용하도록 미리 설정돼 있다.
- TCP/UDP 포트번호 범위 (IANA에서 관리)
- 유명(권한) 포트번호(0에서 1023까지)
- 등록(사용자) 포트번호(1024에서 49151까지)
- 사설/동적 포트번호(49152에서 65535까지)
TCP/IP 클라이언트 (임시) 포트와 사용할 클라이언트/서버 애플리케이션 포트
- 대부분의 TCP/IP 클라이언트/서버 통신에서 클라이언트는 랜덤 임시 포트번호를 사용하여 서버 IP 주소의 예약 포트번호로 요청을 송신한다.
- 서버는 요청의 출발지 주소로 응답을 돌려 보낸다.
TCP/IP 소켓과 소켓 쌍: 프로세스와 연결 식별
- 장비의 TCP/IP 애플리케이션을 전체적으로 식별하는 것은 IP 주소와 포트번호의 조합인 소켓이다.
- 각 장비는 특정 시간에 여러 활성화된 TCP 연결을 가질 수 있다. 각 연결은 클라이언트 소켓과 서버 소켓의 조합(클라이언트 IP와 주소, 서버 IP와 주소)으로 유일하게 식별된다.
범용 TCP/IP 애플리케이션과 유명/등록 포트번호
포트# | TCP/UDP | 키워드 | 프로토콜 약어 | 애플리케이션 또는 프로토콜 이름/주석 |
7 | TCP + UDP | echo | - | 에코 프로토콜 |
9 | TCP + UDP | discard | - | 디스카드 프로토콜 |
11 | TCP + UDP | systat | - | 활성 사용자 프로토콜 |
13 | TCP + UDP | daytime | - | 데이타임 프로토콜 |
17 | TCP + UDP | qotd | QOTD | 오늘의 문장 프로토콜 |
19 | TCP + UDP | chargen | - | 문자 생성기 프로토콜 |
20 | TCP | ftp-data | FTP(데이터) | 파일 전송 프로토콜(기본 데이터 포트) |
21 | TCP | ftp | FTP(컨트롤) | 파일 전송 프로토콜(제어/명령) |
23 | TCP | telnet | - | 텔넷 프로토콜 |
25 | TCP | smtp | SMTP | 단순 메일 전송 프로토콜 |
37 | TCP + UDP | time | - | 타임 프로토콜 |
43 | TCP | nicname | - | 후이즈 프로토콜(Nicname이라고도 함) |
53 | TCP + UDP | domain | DNS | 도메인 네임 서버(도메인 네임 시스템) |
67 | UDP | bootps | BOOTP/DHCP | 부트스트랩 프로토콜/동적 호스트 설정 프로토콜(서버) |
68 | UDP | bootpc | BOOTP/DHCP | 부트스트랩 프로토콜/동적 호스트 설정 프로토콜(클라이언트) |
69 | UDP | tftp | TFTP | 간이 파일 전송 프로토콜 |
70 | TCP | gopher | - | 고퍼 프로토콜 |
79 | TCP | finger | - | 핑거 사용자 정보 프로토콜 |
80 | TCP | http | HTTP | 하이퍼텍스트 전송 프로토콜(월드와이드웹) |
110 | TCP | pop3 | POP | 포스트 오피스 프로토콜(버전3) |
119 | TCP | nntp | NNTP | 유즈넷 뉴스 전송 프로토콜 |
123 | UDP | ntp | NTP | 네트워크 타임 프로토콜 |
137 | TCP + UDP | netbios-ns | - | NetBIOS(네임 서비스) |
138 | UDP | netbiosdgm | - | NetBIOS(데이터그램 서비스) |
139 | TCP | netbios-ssn | - | NetBIOS(세션 서비스) |
143 | TCP | imap | IMAP | 인터넷 메시지 접근 프로토콜 |
161 | UDP | snmp | SNMP | 단순 네트워크 관리 프로토콜 |
162 | UDP | snmptrap | SNMP | 단순 네트워크 관리 프로토콜(트랩) |
179 | TCP | bgp | BGP | 경계 경로 프로토콜 |
194 | TCP | irc | IRC | 인터넷 릴레이 채팅 |
443 | TCP | https | HTTP over SSL | SSL 위에서 동작하는 HTTP |
500 | UDP | isakmp | IKE | IPsec 인터넷 키 교환 |
520 | UDP | router | RIP | 라우팅 정보 프로토콜(RIP-1과 RIP-2) |
521 | UDP | ripng | RIPng | 라우팅 정보 프로토콜-차세대 버전 |
1512 | TCP + UDP | wins | WINS | 마이크로소프트 윈도우 인터넷 네이밍 서비스 |
1701 | UDP | l2tp | L2TP | 2계층 터널링 프로토콜 |
1723 | TCP | pptp | PPTP | 점대점 터널링 프로토콜 |
2049 | TCP + UDP | nfs | NFS | 네트워크 파일 시스템 |
6000-6063 | TCP | x11 | x11 | X 윈도우 시스템 |
댓글 없음:
댓글 쓰기