- 인터넷(Internet)
인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망
- 이더넷(Ethernet)
이더넷은 네트워크를 이루는 컴퓨터들의 통신 수단 중 하나
- TCP/IP
인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합
1. IP (Internet Protocol, 인터넷 프로토콜)
- 송신 호스트와 수신 호스트가 패킷 교환 네트워크 (Packet Switching Network)에서 정보를 주고받는 데 사용하는 정보 위주의 규약
- 네트워크 계층(3 계층)에 위치
- 호스트의 주소 지정과 패킷의 분할 및 조립, 라우팅을 담당
- 비신뢰성 (unreliability) : 흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않음
- 비연결성 (connectionlessness) : 데이터 전송 이전에 미리 설정 과정을 거치지 않음
2. TCP (Transmission Control Protocol, 전송 제어 프로토콜)
2.1 TCP 특징
- 인터넷 프로토콜 스위트의 핵심 프로토콜 중 하나
- 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다.
- 전송 계층(4 계층)에 위치
- 신뢰성이 높은 전송으로, 연속성보다 신뢰성 있는 전송이 중요할 때 사용하는 프로토콜
- 가상 회선 방식 제공 (발신지와 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로 배정)
- 웹 브라우저들이 월드 와이드 맵(www)에서 서버에 연결할 때 사용, 이메일 전송이나 파일 전송에도 사용
2.2 TCP 패킷 구조

(1) Sourse Port Number(16 bits)
- 데이터를 보내는 애플리케이션의 포트 번호
- IP 주소 + 포트 번호 = 소켓 주소
(2) Destination Port Number(16 bits)
- 데이터를 받을 애플리케이션의 포트 번호
(3) Sequence Number(32 bits)
- Sequence NUmber : TCP 세그먼트의 첫번째 바이트에 부여되는 번호
- 바이트 단위로 구분되어 순서화되는 번호. 이를 통해, TCP에서는 신뢰성 및 흐름제어 기능 제공
- 시작 : 임의 값으로 시작하여, 최대값(4,294,967,295) 이후에는 '0'으로되어 시작함
- 최대 : 32 비트이므로 최대 4기가 바이트(232) 크기의 송신 데이터에, 순서화된 일련번호를 붙일 수 있음
- 초기 순서번호 (ISN, Initial Sequence Number) : 초기 TCP 연결설정을 위함
난수 발생기로 초기 순서번호(ISN)를 생성하고, 이를 순서번호 필드에 넣어 보냄. TCP는 양방향이므로 각 방향 마다 다른 ISN 번호가 사용됨
(4) Acknowledgement Number (확인응답 번호 / 승인 번호) (32 bits)
- TCP 헤더 길이를, 4 바이트(32 비트) 단위로 표시
- TCP 헤더 길이는, 최소 4 x 5 = 20 바이트 부터 ~ 4 x (24 - 1) = 60 바이트 이하
- 수신하기를 기대하는 다음 바이트 번호 = (마지막 수신 성공 순서번호 + 1)
- 헤더 길이 필드 (Header length, HLEN, 4 비트)
(5) Data Offset
- TCP 세그먼트 시작 위치를 기준으로 데이터의 시작 위치를 표현
(6) 6 개의 Flag bits (URG, ACK, PSH, RST, SYN, FIN)
- TCP 세그먼트 전달과 관련되어 TCP 회선 및 데이터 관리 제어 기능을 하는 플래그
- 흐름제어, 연결설정, 연결종료, 연결리셋, 데이터전송모드
(7) Window size(16 bits)
- 수신 윈도우의 버퍼 크기를 지정할 떄 사용
- 흐름제어를 위해 사용하는 16 비트 필드 (65,535 bytes까지 가능)
- TCP 흐름제어를 위해 송신자에게 자신의 수신 버퍼 여유용량 크기를 지속적으로 통보
- TCP 연결은 양방향이므로, 매 TCP 세그먼트를 보낼시 마다, 이 필드에 자신의 수신 버퍼 용량 값을 채워 보내게 됨 (지속적인 현행화)
(8) Checksum (16 비트)
- 데이터 오류 검사
(9) Urgent Pointer (16 비트)
- TCP 세그먼트에 포함된 긴급 데이터의 마지막 바이트에 대한 일련번호
- URG 플래그 비트가 지정되었을 경우 긴급 데이터 처리
(10) 옵션
- 최대 40 바이트까지 옵션 데이터 포함 가능
- TCP MSS 옵션을 협상하거나(MSS)
- 주어진 윈도우 크기 보다 더 크게 사용하거나(Windowing)
- 선택확인응답을 하거나(SACK)
- 타임스탬프 옵션 정의 (Timestamp) 등
3. UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜)
3.1 UDP 특징
- 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
확인응답 없음 : 메세지가 제대로 도착했는지 확인하지 않음
순서제어 없음 : 수신된 메세지의 순서를 맞추지 않음. TCP 헤더와 달리 순서번호 필드 없음
흐름제어 없음 : 흐름 제어를 위한 피드백을 제공하지 않음
오류제어 거의 없음 : 검사합을 제외한 특별한 오류 검출 및 제어 없음. UDP를 사용하는 프로그램 쪽에서 오류제어 기능을 스스로 갖추어야 함
비연결성 : 논리적인 가상회선 연결이 필요없음(No Handshaking). 데이터그램 지향의 전송계층용 프로토콜
- 실시간 응용 및 멀티캐스팅 가능
실시간용 : 빠른 요청과 응답이 필요한 실시간 응용에 적합
1:多 : 여러 다수 지점에 전송 가능 (즉, Multicasting 가능)
무제한 : 전송속도 제한 없음
- 헤더가 단순함
- 헤더는 고정크기의 8 바이트(TCP는 20 바이트) 만 사용. 즉, 헤더 처리에 많은 시간과 노력을 요하지 않음
- UDP 위에서 동작되는 다양한 프로토콜들 또는 응용분야
- TFTP, SNMP, DHCP, NFS, DNS, RIP, NTP, RTP 등
- 데이터 전송 단위 : 메세지
- 한편, TCP의 데이터 전송 단위는 세그먼트라 함
- 최대 데이터 크기
- 65,507 바이트 = 65,535 바이트 - UDP 헤더 8 바이트 - IP 헤더 20 바이트
3.2 UDP 패킷 구조

(1) Sourse Port Number(16 bits)
- 데이터를 보내는 애플리케이션의 포트 번호
(2) Destination Port Number(16 bits)
- 데이터를 받을 애플리케이션의 포트 번호
(3) UDP Length(16 bits)
- UDP 헤더와 데이터의 총 길이
(4) UDP Checksum(16 bits)
- 데이터 오류 검사
'전자 회로 설계 > 회로 및 제어' 카테고리의 다른 글
USB PHY(Physical Layer) (0) | 2025.03.16 |
---|---|
전자 회로 설계 - 시리얼 통신(RS-232) (0) | 2025.03.16 |
PSpice for TI - Simulation(Transistor) (0) | 2025.03.16 |
전자 회로 설계 - Relay, SSR 사용과 회로 설계 (0) | 2025.03.16 |
전자 회로 설계 - [I/O] PUSH-PULL, OPEN-DRAIN (0) | 2025.03.16 |