본 포스팅은 모두의 네트워크 책을 읽고 요약한 것입니다.
프로토콜(protocol): 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙이나 표준
- 서버와 클라이언트끼리 어떤 방식으로 소통할 것인가 -> 통신 규약
- ex) HTTP, HTTPS, SSH, FTP, SFTP 등
- 각 프로토콜은 자주 쓰는 포트번호가 있는데 포트번호를 바꿔도 클라이언트, 서버 명세사항이 맞으면 기능에는 전혀 문제가 없다.
Protocol | Port | Protocol | Port | Protocol | Port |
HTTP | 80 | HTTPS | 443 | SSH | 22 |
FTP | 21 | MySQL | 3306 | SFTP | 22 |
[1. OSI 모델과 TCP/IP 모델]
OSI 모델(Open Systems Interconnection Reference Model)
- 국제표준화기구(ISO)가 1977년에 정의한 국제 통신 표준 규약
- 네트워크의 기본 구조를 7계층으로 나눠서 표준화한 통신 규약으로 현재 다른 모든 통신 규약의 기반(네트워크 기술의 기본)
- 계층 대신 레이어라는 용어를 사용하기도 함
- 이 OSI 7계층의 방식을 통해 데이터를 주고 받을 수 있는데 이 때 데이터는 맨 위의 응용 계층에서 순차적으로 아래 계층으로전달됨
계층 | 이름 | 설명 | 장비 | 전송단위 | 프로토콜 |
7계층 | 응용계층 (Application Layer) |
이메일&파일전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스 제공 | Data | HTTP, FTP, DNS, DHCP, SMTP |
|
6계층 | 표현계층 (Presentation Layer) |
문자 코드, 압축, 암호화 등의 데이터를 변환 | Data | JPEG, MPEG, AFP |
|
5계층 | 세션계층 (Session Layer) |
세션 체결, 통신 방식을 체결 | Data | SSH, TLS |
|
4계층 | 전송계층 (Transport Layer) |
신뢰할 수 있는 통신을 구현 | 게이트웨이 | Segment | TCP, UDP, ARP |
3계층 | 네트워크계층 (Network Layer) |
다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정 | 스위치(L3), 라우터 |
Packets | IP, ARP, RARP, ICMP, IGMP |
2계층 | 데이터링크계층 (Data Link Layer) |
네트워크 기기 간의 데이터 전송 및 물리 주소를 결정 | 스위치(L2), 브릿지, 랜카드 |
Frames | HDLC, LAPB, PPP, LLC |
1계층 | 물리계층 (Physical Layer) |
시스템 간 물리적인 연결과 전기 신호를 변환 및 제어 | 허브, 리피터 |
Bits | Ethernet, RS-232C |
- 송신 측(데이터를 전송하는 측)은 데이터를 보내기 위해서 상위 계층(응용 계층)에서 하위 계층(물리 계층)으로 데이터를 전달
- 수신 측(데이터를 받는 측)은 하위 계층(물리 계층)에서 상위 계층(응용 계층)으로 각 계층을 통해 전달된 데이터를 받게 됨
- 각 계층은 독립적이기 때문에 데이터가 전달되는 동안에 다른 계층의 영향을 받지 않음
TCP/IP 모델(Transmission Control Protocol, Internet Protocol)
- OSI 모델 7계층의 네트워크에서 데이터를 전송하는 과정을 4개 계층(Layer)으로 단순화시킨 모델
계층 | 이름 | 설명 | 전송단위 | 프로토콜 |
4계층 | 응용계층 (Application Layer) |
OSI 모델의 5,6,7계층에 해당 다른 계층의 서비스에 접근할 수 있는 애플리케이션 제공 |
Data Message |
HTTP, FTP, DNS, DHCP, SMTP |
3계층 | 전송계층 (Transport Layer) |
OSI 모델의 4계층에 해당, 자료의 송수신 담당 TCP/UDP에 대한 구분을 하고 데이터에 대한 제어 정보 포함 |
Segment | TCP, UDP |
2계층 | 인터넷계층 (Internet Layer) |
OSI 모델의 3계층에 해당 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성 제공 |
Packets | IP, ARP, ICMP, IGMP |
1계층 | 네트워크 접속 계층 (Network Access Layer / Network Interface Layer) |
OSI 모델의 1,2 계층에 해당 데이터가 네트워크를 통해 어떻게 전송되는지 정의 에러 검출 기능 및 패킷의 프레임화 기능 수행 |
Frames | Ethernet, RS-232C |
[2. 캡슐화와 역캡슐화]
캡슐화: 컴퓨터 통신에서 상위 계층의 통신 프로토콜 정보를 데이터에 추가해 하위 계층으로 전송하는 기술
역캡슐화: 컴퓨터 통신에서 상위 계층의 통신 프로토콜에서 하위 계층에서 추가한 정보와 데이터를 분리하는 기술
- 헤더: 데이터를 보낼 때 필요한 정보를 데이터에 추가하는 것(데이터에 앞 부분에 추가)
- 데이터를 상대방에게 보낼 때 각 계층에서 헤더(데이터 링크 계층의 트레일러도 포함)를 붙여 나가는 것을 캡슐화라고 함
- 트레일러: 데이터를 전달 할 때 마지막에 추가하는 정보
- OSI 모델에서 데이터 송신 측은 응용 계층 -> 전송 계층 -> 네트워크 계층 -> 데이터 링크 계층 순서로 캡슐화 함
- OSI 모델에서 데이터 수신 측은 데이터 링크 계층 -> 네트워크 계층 -> 전송 계층 -> 응용 계층 순서로 역캡슐화 함
- 송신 측의 데이터 링크 계층에서 만들어진 데이터가 전기 신호로 변환되어 수신 측에 전송
캡슐화 과정
- 송신 측의 컴퓨터에서 웹 사이트에 접속하려면 응용 계층에선 웹사이트 접속하기 위한 데이터가 만들어진다.
- 데이터는 전송 계층에 전달되면서 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 추가한다.
- 전송계층에서 헤더가 추가된 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 추가한다.
- 네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러를 추가한다.
- 전송 계층 헤더, 네트워크 계층 헤더, 데이터링크 계층 헤더와 트레일러가 추가되서 데이터 링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환되서 수신 측에 도착!
역캡슐화 과정
- 수신 측에서는 각 계층의 헤더를 제거하며면서 데이터를 전달하고 반대로 데이터 링크 계층부터 순서대로 상위 계층으로 전달한다.
- 송신 측의 데이터 링크 계층에서 추가된 헤더와 트레일러를 수신측의 데이터 링크 계층에서 제거한다.
- 그 다음 네트워크 계층 헤더를 제거한다.
- 마지막으로 전송 계층의 헤더를 제거하면 모든 헤더가 제거된 데이터가 수신 측에 도착!
https://velog.io/@minj9_6/%EC%BA%A1%EC%8A%90%ED%99%94%EC%99%80-%EC%97%AD%EC%BA%A1%EC%8A%90%ED%99%94
https://minkwon4.tistory.com/283
'network' 카테고리의 다른 글
6. 네크워크의 구조: 전송 계층 (0) | 2022.09.21 |
---|---|
5. 네크워크의 구조: 네트워크 계층 (0) | 2022.09.15 |
4. 네크워크의 구조: 데이터 링크 계층 (0) | 2022.09.14 |
3. 네크워크의 구조: 물리 계층 (0) | 2022.08.26 |
1. 네트워크 기본 지식 (0) | 2022.08.18 |