일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 가상 화폐
- 시험 성적
- 솔리디티
- Mist
- 별 찍기 - 11
- 1546
- 비트 코인
- Baekjoon
- 단계별로 풀어보기
- 세 수
- 백준
- 블록 체인
- 자바스크립트
- for문 사용해보기
- X보다 작은 수
- Remix
- 10871
- 2448
- 그대로 출력하기
- 이더리움
- 평균은 넘겠지
- 알고리즘 문제풀이
- 더하기 사이클
- 함수 사용하기
- 10817
- 1065
- 1%d
- 1110
- if문 사용해보기
- Dapp
- Today
- Total
블링블링 범블링
[NT 5장] - TCP/IP 모델 본문
인터넷은 데이터의 중개 기능을 담당하는 네트워크 계층으로 IP 프로토콜을 사용하는 네트워크이다. 따라서 인터넷에 연결하고자 하는 호스트는 반드시 IP 프로토콜을 지원해야 하며, 전송 계층은 TCP나 UDP를 사용한다.
컴퓨터 네트워크 구현 모델은 사용자 공간과 시스템 공간(운영체제)으로 이루어진다. 앞선 장에서 말했듯이 전송 계층까지의 4계층은 시스템 공간인 운영체제 내부에 구현된다. TCP/IP와 하위 계층의 기능을 담당하는 LAN 카드 드라이버 루틴은 운영체제 영역에 속한다. 사용자 공간에는 다양한 프로세스가 존재할 수 있다.
시스템 공간
TCP와 UDP는 시스템 운영체제인 커널 내부에 구현되어 사용자가 직접 이용할 수 없다. 대신 소켓 인터페이스라는 전송 계층의 프라미티브를 사용해서 시스템 콜 기능으로 호출한다. TCP는 연결형 서비스를 UDP는 비연결형 서비스를 제공한다. 네트워크 계층은 IP로 구현되며, 네트워크 계층은 라우터를 통한 전송 패킷의 올바른 경로 선택 기능을 제공한다.
사용자 공간
세션 계층부터 상위 3개의 계층은 사용자 프로그램을 구현한다. 소켓 시스템 콜을 이용하여 TCP와 UDP 기능을 사용할 수 있다. 소켓은 각자 고유한 포트 번호를 관리한다. 이러한 포트 번호와 사용자 프로그램 간의 일대일로 대응하여 시스템 콜을 주고받는다. 응용 프로그램에 따라 포트 번호를 여러 개 받을 수도 있다.
TCP/IP 계층 구조
인터넷에서의 데이터 전송은 계층 4의 TCP/UDP, 계층 3의 IP에 의해 이루어진다. 하지만 이 프로토콜만으로 이루어지지는 않는다. 이를 보안해줄 ARP/RARP와 ICMP 프로토콜이 같이 작용을 돕는다. 네트워크 응용 프로그램은 TCP와 UDP를 사용해 데이터 송수신 기능을 수행하지만, 네트워크 계층의 IP 프로토콜을 직접 사용하기도 한다. ICMP와 ARP/RARP는 네트워크 계층에 포함되어 IP의 동작을 도와준다.
ICMP는 IP가 동작하는 과정에서의 전송 오류를 복구하는 담당을 한다. 오류 메시지를 전송하기 위한 별도의 헤더 구조를 가진다. ARP/RARP는 IP주소와 MAC주소 관계를 이어주는 역할을 한다. 데이터 링크 계층의 MAC 주소와 네트워크 계층의 IP주소는 TCP/IP 모델의 중요한 주소들이다. 데이터 링크 계층을 이용해 데이터를 전송하려면 목적지 호스트의 MAC 주소가 필요하다. 하지만 IP 주소는 사용자로부터 입력되지만 MAC 주소는 그렇지 않다. 그래서 IP 주소를 바탕으로 MAC 주소를 가르쳐주는 ARP가 필요하다. 반대로 MAC 주소를 토대로 IP 주소를 알아내는 것이 RARP이다.
'Technology > 네트워크' 카테고리의 다른 글
[NT 7장] LAN, MAN, WAN (0) | 2018.05.01 |
---|---|
[NT 6장] 교환 시스템 (0) | 2018.04.30 |
[NT 4장] OSI 참조 모델 (0) | 2018.04.30 |
[NT 3장] 계층 구조의 개념 (0) | 2018.04.30 |
[NT 2장] 네트워크 주소의 표현 (0) | 2018.04.30 |