TCP(Transmission Control Protocol)/IP(Internet Protocol)
2023. 6. 16. 20:06ㆍ학습/Computer Science
TCP(Transmission Control Protocol)/IP(Internet Protocol)
- 정의
- 전송 제어 프로토콜(TCP)과 인터넷 프로토콜(IP)의 약자를 표현한 것으로 인터넷 프로토콜 스위트(모음, 세트)라고도 한다.
- 데이터를 응용 프로그램에 맞추어 송수신하기 위한 프로토콜 및 필수 요건으로 4계층(응용, 전송, 인터넷, 네트워크 인터페이스)으로 구성되어 OSI 7계층 모델을 대체할 수 있다.
- TCP, IP뿐만 아니라 인터넷 관련 프로토콜을 총칭하는 용어
- 응용 계층
- 전자 우편 (E-mail)
- SMTP(Simple Mail Transfer Protocol), POP3(Post Office Protocol3), MIME(Multipurpose Internet Mail Extensions), IMAP(Internet Messaging Access Protocol) 등의 프로토콜을 사용한다.
- SMTP : 수신측 이메일 서버로 전송
- POP3: 수신측 이메일 서버에서 컴퓨터로 다운로드
- MIME : 멀티미디어 메일을 주고받기 위한 프로토콜
- IMAP : 이메일 서버에서 메일의 헤더를 분석하여 수신하기 전에 처리(분류, 삭제 등)
- S/MINE : 전자 우편의 낮은 보안성을 보완하기 위해 메시지 기밀성, 무결성, 사용자 인증, 부인방지 등의 기능을 제공하는 보안 프로토콜
- 원격 제어
- telnet(Tele Network) : 23번 포트, 데이터를 평문으로 전달
- SSH : 22번 포트, 데이터를 암호화하여 전달
- 웹 서비스(WWW : World Wide Web)
- 웹 상에서 일반 데이터 및 멀티미디어 데이터를 송수신하는 광역 정보 서비스
- SSL(Secure Socket Layer) 계층의 포함 여부에 따라 HTTP(HyperText Transfer Protocol)와 HTTPS(Secure)로 나뉜다. (cf. SSL = TLS)
- HTTP : 80번 포트, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 프로토콜
- HTTPS : 443번 포트, HTTP에 SSL 계층을 포함하여 보안 기능이 강화된 프로토콜
- S-HTTP : 제공되는 페이지만 암호화(HTTPS는 전체 통신 내용 암호화)
- 파일 전송(FTP : File Transfer Protocol)
- 인터넷 환경에서 파일을 업로드/다운로드 할 수 있도록 하는 프로토콜
- 익명으로 이용 가능하며 파일 타입에 따라 전송모드를 다르게 설정
- Anonymous FTP : 익명 TFP
- T(Trival)FTP : FTP 보다 더 단순한 방식의 간단한 파일 전송 프로토콜
- Text(ASCII) Mode : 문서 파일 전송
- Binary Mode : 이미지 파일 전송
- R(Real-time)TP : 네트워크 상에서 멀티미디어를 전달하기 위한 통신 프로토콜
- 전자 우편 (E-mail)
- 전송 계층
- TCP (Transmission Control Protocol)
- 불안정한 인터넷 프로토콜(IP) 위에서 애플리케이션이 안정적으로 데이터를 송신하는 방법을 제공한다.
- 주소 지정, 다중화, 연결 유지, 패키징, 전송, 품질 관련 서비스, 흐름 제어 등
- 신뢰성 높은 데이터 전송을 위해 다양한 기능을 제공하므로 복잡한 프레임 구조를 가진다.
- Source/Destination Port(16/16bit) : 출발지/목적지 포트 번호
- Sequence Number(32bit) : TCP 세그먼트를 식별, 재배열하기 위한 고유번호(Byte 단위로 증가)
- Acknowledge Number(32bit) : 수신된 Sequence Number에 대한 다음 수신 패킷의 번호
- Header Length(4bit) : TCP 헤더 길이 지정(4Byte 단위)
- Reserved(6bit) : 사용되고 있지 않은(예약된) 필드
- Flag Field(6bit) : URG(긴급), ACK(응답), PSH(바로 전송), RST(리셋), SYN(동기화), FIN(종료)
- Window size(16bit) : TCP 최대 수신 버퍼 크기 (0~65535)
- Checksum(16bit) : TCP 헤더와 데이터 무결성 보장을 위한 에러 검출
- Urgent Point(16bit) : URG 플래그 비트가 사용된 경우 긴급 데이터 처리용 필드
- 두 단말기 간 논리적 연결을 설정하여 데이터를 패킷 단위로 교환한다.
- 지연시간 발생 이유 ? - 연결형 프로토콜로 통십 수립 단계(3-way 핸드셰이킹) 때문.
- 수신측에 SYN을 1로설정하여 전송
- 수신측은 1(SYN)을 받은 경우 SYN과 ACK를 1로 송신측에 전달
- 송신척은 1(SYN, ACK)을 받은 경우 ACK를 1로 설정하여 수신측에 전달하여 통신 수립 성공
- 불안정한 인터넷 프로토콜(IP) 위에서 애플리케이션이 안정적으로 데이터를 송신하는 방법을 제공한다.
- UDP(User Datagram Protocol)
- 신뢰성을 보장하지 않는 비연결성(비접속형) 통신을 제공하는 프로토콜.
- 흐름 제어 및 순서 제어가 없어 전송속도는 빠르지만 신뢰성 보장이 어렵다.
- 스트리밍 서비스 처럼 하나의 정보를 다수의 인원이 수신해야 하는 경우에 적합한 프로토콜
- 신뢰성 제공을 위한 기능이 없어 상대적으로 간단한 프레임 구조.
- Source/Destination Port(16/16bit) : 출발지/목적지 포트 번호
- UDP length : UDP 헤더와 데이터를 합친 길이
- UDP checksum : UDP 헤더와 데이터를 모두 포함하여 체크
- UDP 상에서 동작되는 프로토콜은 TFTP, SNMP, RIP, NTP, RTP 등이 있다.
- TFTP (Trivial File Transfer Protocol) : 간단한 파일 전송
- SNMP(SImple Network Management Protocol) : 네트워크 관리 및 감시를 위해, 관리 정보 및 정보 운반
- RIP(Routing Information Protocol) : 소규모 또는 교육용 등의 간단한 네트워크에 사용되는 라우팅 프로토콜
- NTP(Network Time Protocol) : 컴퓨터 시간을 최상위 동기 클럭원에 동기화하는 프로토콜
- RTP(Realtime Transport Protocol) : 실시간 전송 지원 표준화를 위한 프로토콜
- TCP (Transmission Control Protocol)
- 인터넷 계층
- IP (Internet Protocol)
- 패킷 교환 네트워크에서 송수신 단마릭 간 정보를 주고받는 데 사용하는 정보위주의 프로토콜이다.
- 데이터는 패킷 또는 데이터그램 단위로 나누어 전송되며 별도의 경로 설정이 필요 없다.
- 비신뢰성과 비연결성이 특징으로, 패킷 전송 여부와 정확한 순서를 보장하려면 IP의 상위 프로토콜인 TCP를 사용해야 한다.
- IP 의 주소 체계는 IPv4, IPv6로 나뉘며 각각 별도의 헤더 구조를 가진다.
- 물리적 주소(MAC)와 논리적 주소(IP)를 서로 변환해주는 프로토콜을 사용
- ARP(Address Resolution Protocol) : IP주소를 네트워크 접속 장치(MAC)주소로 변환
- R(Reverse)ARP : 네트워크 접속 장치(MAC)주소를 IP주소로 변환
- IP 패킷을 처리할 때 발생할 수 있는 오류에 대한 정보를 제공할 수 있는 ICMP(Internet Control Message Protocol)를 사용한다.
- ICMP : 네트워크에 연결된 단말기의 운영체제에서 오류 메시지를 수신하는 데 사용
- IPv4의 헤더 구조
- Version(4bit) : IP 버전
- Header LENgth(4bit) : 헤더의 길이를 4바이트(32비트) 단위로 표현
- TOS(8bit) : 서비스 요구사항(처리량, 전송 지연, 신뢰성, 우선 순위 등)
- Total Length(16bit) : IP 패킷의 길이를 바이트 단위로 표현
- Fragment ID(16bit) : 패킷이 분할된 경우 재조립을 위한 식별 요소
- Fragment Flags(3bit) : 분할 여부, 이후 분할 패킷이 남아있는지 여부
- Fragment Offset(13bit) : 분할 전 데이터의 바이트 범위
- Time To Live(8bit) : IP 패킷의 수명
- Protocol ID(8bit) : 포함된 상위 계층 프로토콜
- Header Checksum(16bit) : 헤더에 대한 오류 검출
- Source/Destination Address(32/32bit) : 송수신측 IP주소
- IPv6의 헤더 구조(기본, 확장 헤더를 포함하지 않는 경우)
- Version(4bit) : IP 버전
- Traffic Class(8bit) : 서비스 요구사항(처리량, 전송 지연, 신뢰성, 우선순위 등)
- Flow Lable(20bit) : IP를 연결 지향적 프로토콜처럼 사용
- Payload Length(16bit) : 페이로드(확장 헤더 + 상위 계층 데이터)의 바이트 단위 길이, 최대 2^16
- Next Header(8bit) : 확장 헤더 종류
- Hop Limit(8bit) : IP 패킷의 수명
- Source/Destination Address(128/128bit) : 송수신측 IP주소
- DNS(Domain Name Service)
- 문자열로 구성된 도메인 네임을 숫자로 된 IP주소로 변환해 주는 서비스이다.
- Domain Name : 숫자로 구성된 IP주소를 문자열의 구성으로 변환한 것
- 도메인 네임은 고유해야 하며 공백 없이 문자 및 숫자를 이용해 구성된다.
- 각 지역의 NIC(Network Information Center)를 통해 도메인 네임을 관리한다.
- InterNIC : 국제 도메인 관리 센터
- APNIC : 태평양 도메인 관리 센터
- KRNIC : 한국 도메인 관리 센터
- 문자열로 구성된 도메인 네임을 숫자로 된 IP주소로 변환해 주는 서비스이다.
- IPSec(IP Security)
- 보안에 취약한 구조를 가진 IP를 개선하기 위해 IETE에서 설계한 표준
- IPv4에서는 보안이 필요한 경우에만 선택적으로 사용하였지만 IPv6부터는 기본 스펙에 포함
- IP 계층에서의 보안성 제공을 위해 AH, ESP, IKE 프로토콜로 구성된다.
- AH(Authentication Header) : 발신지 인증, 데이터 무결성만을 보장
- ESP(Encapsulating Security Payload) : 발신지 인증, 데이터 무결성, 기밀성 모두를 보장
- IKE(Internet Key Exchange) : 보안 관련 설정들을 생성, 키 교환
- IPSec의 동작 모드는 전송 모드와 터널 모드로 나뉜다.
- 전송 모드(Transport Mode) : IP 헤더를 제외한 IP 패킷의 페이로드(Payload)만을 보호
- 터널 모드(Tunneling Mode) : IP 패킷 전체를 보호
- IP (Internet Protocol)
728x90
'학습 > Computer Science' 카테고리의 다른 글
보안 공격 - 서비스 거부(Denial of Service) 공격 (0) | 2023.06.20 |
---|---|
Database De-Normalization(반정규화) (0) | 2023.06.16 |
OSI(Open System Interconnection) 7계층 (0) | 2023.06.16 |
웹 서버(Web Server)와 웹 애플리케이션 서버(Web Application Server) (0) | 2023.06.15 |
트랜잭션(transaction) 제어 (0) | 2023.06.14 |