Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- BFS
- 우선순위큐
- BinarySearch
- 99클럽
- 브루트포스
- 트리
- 데이터베이스
- 알고리즘
- 개발자취업
- 자바
- Til
- 프로그래머스
- 백준
- Spring
- 백트래킹
- Java
- 그래프
- 정렬
- DFS
- 코딩테스트준비
- 그래프 이론
- 스프링
- 스프링 핵심 원리 - 기본편
- 그리디
- 완전탐색
- 동적 프로그래밍
- 항해99
- 네트워크 계층
- lower bound
- DP
Archives
- Today
- Total
AtraFelis's Develop Diary
[컴퓨터 네트워크] TCP/IP 5계층 본문
TCP/IP 프로토콜은 기존에는 OSI 7계층으로 사용하였으나, 인터넷의 발달과 여러가지 이유로 5계층을 주로 사용한다. 최근에는 물리계층과 데이터링크 계층을 한 번 더 묶어 4계층으로 사용하는 듯하지만, 이 글에서는 TCP/IP 5계층에 대해 정리하고자 한다.
- Physical Layer(물리 계층) : bits
- Datalink Layer(데이터 링크 계층) : frames
- Network Layer(네트워크 계층) : datagrams
- Transport Layer(전송 계층) : segments or user datagrams
- Application Layer(응용 계층) : messages
TCP/IP 5계층은 이렇게 구성되어 있으며, 각 계층마다 다루는 데이터를 부르는 호칭이 다르다. 깊게 따질 것 없이, 이 계층에서는 이런 용어로 데이터를 부르는구나, 정도만 알고 넘어가면 나중에 편할 것이라고 생각한다. 어떤 때는 데이터그램이라 부르다가, 세그먼트라 부르다가... 처음 공부할 때 좀 어지럽다.
물리 계층 Physical Layer
- TCP, IP Protocol Suite (프로토콜 그룹)에서 가장 낮은 계층 으로 전송 매체와 실제로 상호작용 한다.
- 전자기 신호의 형태로 데이터(프레임의 각 비트)들을 링크를 따라 전달한다.
- 물리 계층 아래에 숨겨진 계층인 전송 매체가 있기 때문에 두 장치 사이의 통신은 여전히 논리적 통신이다
데이터 링크 계층 Datalink Layer
- 프레이밍(Framing): 물리 계층에서 전달받은 비트열을 프레임 단위로 나누고, 시작과 끝을 구분하는 특수 문자(Flag)를 추가한다.
- 물리 주소 지정(Physical Addressing): 프레임 헤더에 송신자와 수신자의 MAC 주소를 지정한다.
- 오류 검출 및 정정(Error Detection and Correction): 프레임에 오류 검출 코드(CRC, Checksum 등)를 추가하여 전송 중 발생하는 오류를 감지하며, 오류가 감지되면 재전송을 요청하거나 오류를 수정한다.
- 흐름 제어(Flow Control): 송신자와 수신자 간의 데이터 처리 속도 차이를 조절해 수신 측의 버퍼 오버플로우를 방지한다.
- 매체 접근 제어(Media Access Control, MAC) : 여러 장치가 공유하는 통신 매체(예: 이더넷)에 대한 접근을 제어한다. 임의 접근 프로토콜, 제어 접근 프로토콜, 채널화 등의 방법이 존재한다.
네트워크 계층 Network Layer
https://atrafelis.tistory.com/5
- 논리 주소 지정(Logical Addressing): 데이터를 전송할 때 출발지와 목적지 시스템을 식별하기 위한 논리적인 주소인 IP 주소를 할당한다.
- 라우팅(Routing): 데이터 패킷이 최종 목적지까지 도달하기 위한 최적의 경로를 결정한다.
- 단편화 및 재조립(Fragmentation and Reassembly): 전송 가능한 최대 크기(MTU, Maximum Transmission Unit)보다 큰 패킷을 작은 단편으로 나누어 전송하고, 목적지에서 다시 원래의 패킷으로 재조립한다.
- 오류 검사 : 중요한 오류는 데이터 링크 계층에서 검사하기 때문에, 이곳에서의 오류 검사는 체크섬을 이용하여 오류가 발생했는지만 확인한다.
- 흐름제어(Flow control)와 혼잡제어(Congestion control) : 전송 계층의 흐름제어와 혼잡제어와 비슷하나, 제어의 대상이 라우터와 라우터로 다르다.
전송 계층 Transport Layer
- 데이터 전송: TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)와 같은 데이터 전송 프로토콜을 사용해 데이터를 전송한다.
- 흐름 제어(Flow Control): 송신자와 수신자의 데이터 처리 속도 차이를 조절하여 수신자의 버퍼 오버플로우를 방지한다. 네트워크 계층과는 달리 송신자와 수신자 간의 네트워크 혼잡을 방지하기 위해 사용한다.
- 혼잡 제어(Congestion Control): 데이터 전송 속도가 네트워크의 데이터 처리 속도를 초과할 때 발생하는 혼잡을 관리하고 제어하기 위해 사용한다.
- 다중화 및 역다중화(Multiplexing and Demultiplexing): 하나의 호스트에서 동시에 여러 응용 프로그램이 통신할 수 있도록 지원한다.
응용 계층 Application Layer
사용자가 네트워크에 접근하고 다양한 서비스를 이용할 수 있도록 지원한다.
'Computer Science : CS > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] IPv4의 주소 고갈과 그 해결 방안 (0) | 2024.07.17 |
---|---|
[컴퓨터 네트워크] 네트워크 성능 (0) | 2024.04.16 |
[컴퓨터 네트워크] TCP/IP 네트워크 계층의 서비스 종류 (0) | 2024.04.15 |