독서(Reading)/오늘의 책(Today's book)
2022년 7월 1주차 면접을 위한 CS 전공지식 노트 - SECTION 2.2
Chann._.y
2022. 7. 3. 16:42
728x90
SECTION 2.2 TCP/IP 4계층 모델
- 인터넷 프로토콜 스위트(Internet Protocol Suite)
- 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합
- 계층구조
- TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 애플리케이션, 프레젠테이션, 세션 계층 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하며, 인터넷 계층을 네트워크 계층으로 부름
- 레이어 아키텍처 특성상 특정 계층의 변경이 다른 계층에 영향을 받지 않도록 설계
- 애플리케이션 계층
- FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층
- 웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공하는 층
- FTP : 장치와 장치 간의 파일 전송 표준 통신 프로토콜
- SSH : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하기 운영하기 위한 암호화 네트워크 프로토콜
- HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는데 쓰는 프로토콜
- SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
- DNS : 도메인 이름과 IP 주소를 매핑해주는 서버
- DNS 쿼리(www.naver.com)가 오면 root DNS -> .com DNS -> .naver DNS -> .www DNS과정을 거쳐 IP 주소 매핑
- 전송 계층
- 송신자와 수신자를 연결하는 통신 서비스 제공
- 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어 제공
- 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할
- TCP
- 패킷 사이의 순서를 보장
- 연결지향 프로토콜 사용하여 신뢰성 구축하여 수신 여부를 확인
- TCP 연결 성립 과정 : 신뢰성 확보시 - 3-way handshake 작업 진행
- 1. SYN 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN 보냄
- 2. SYN + ACK 단계 : 서버는 클라이언트에 서버의 ISN과 승인번호로 클라이언트의 ISN + 1을 보냄
- 3. ACK 단계 : 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아서 ACK를 서버에 보냄
- 신뢰성 구축 및 데이터 전송 시작 -> 이 과정의 유무가 신뢰성 있냐 없냐를 결정함
- TCP 연결 해제 단계 : 4-way handshake 과정 발생
- 1. FIN 단계: 클라이언트가 FIN으로 설정된 세그먼트를 보내고 FIN_WAIT_1 상태로 들어감
- 2. ACK 단계: 서버는 클라이언트로 ACK라는 승인 세그먼트를 보내고 CLOSE_WAIT 상태에 들어감, 클라이언트가 ACK 세그먼트를 받으면 FIN_WAIT_2 상태에 들어감
- 3. FIN 단계: 서버는 ACK를 보내고 일정 시간 이후에 클라이언트에 FIN이라는 세그먼트를 보냄
- 4. ACK 단계: 클라이언트는 TIME_WAIT 상태가 되고 서버로 ACK를 보내서 서버는 CLOSED 상태가 됨 -> 이후 클라이언트는 어느 정도의 시간을 대기한 후 연결이 닫히고 클라이언트, 서버 간의 모든 자원의 연결이 해제 됨
- ISN : 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호
- TIMEWAIT : 소켓이 바로 소멸되지 않고 일정 시간 유지되는 상태를 말하며 지연 패키 등의 문제점을 해결하는 데 쓰임, CentOS6, 우분투에는 60초로 설정되어 있으며 윈도우는 4분으로 설정되어 있음(OS별 상이)
- TCP 연결 성립 과정 : 신뢰성 확보시 - 3-way handshake 작업 진행
- 가상회선 패킷 교환 방식 사용
- 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 '순서대로' 도착하는 방식
- UDP
- 순서를 보장하지 않음
- 수신 여부를 확인하지 않음
- 데이터그램 패킷 교환 방식 사용
- 패킷이 독립적으로 이동하며 최적의 경로를 선택하여 가는데, 하나의 메시지에서 분할된 여러 패킷은 서로 다른 경로로 전송될 수 있으며 도착한 '순서가 다를 수 있는' 방식
- 인터넷 계층
- 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층
- IR, ARP, ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 데이터 전달
- 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징을 갖고 있음
- 링크 계층
- 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달
- 장치 간에 신호를 주고받는 '규칙'을 정하는 계층
- 네트워크 접근 계층이라고도 함
- 물리 계층 : 무선 LAN, 유선 LAN을 통해 0과 1로 이루어진 데이터 전송 계층
- 데이터 링크 계층 : '이더넷 프레임'을 통해 에러 확인, 흐름 제어, 접근 제어 담당 계층
- 유선 LAN(IEEE802.3) : 전이중화 통신 사용
- 전이중화 통신(full duplex)
- 양쪽 장치가 동시에 송수신할 수 있는 방식
- 송신로와 수신로로 나눠서 데이터를 주고받으며 현대의 고속 이더넷은 이 방식을 기반으로 통신
- 트위스트 페어 케이블(twisted pair cable) : 하나의 케이블처럼 보이지만 실제로는 여덟 개의 구리선을 두 개씩 꼬아서 묶은 케이블
- UTP : 실드 처리하지 않고 덮은 케이블 => LAN 케이블이라고 함 /
- RJ-45 커넥터 : LAN 케이블 꽂을 수 있는 커넥트
- STP : 실드 처리하고 덮은 케이블
- 광섬유 케이블 : 광섬유로 만든 케이블
- 광섬유 내부와 외부를 다른 밀도를 가지는 유리나 플라스틱 섬유로 제작해서 한 번 들어간 빛이 내부에서 계속적으로 반사하며 전진하여 반대편 끝까지 가는 원리 사용
- 코어(core) : 빛의 굴절률이 높은 부분
- 클래딩(cladding) : 빛의 굴절률이 낮은 부분
- 전이중화 통신(full duplex)
- 무선 LAN(IEEE802.11) : 송수신에 같은 채널 사용 -> 반이중화 통신 사용
- 반이중화 통신(half duplex)
- 양쪽 장치는 서로 통신할 수 있지만 동시에 통신할 수없음
- 한 번에 한 방향만 통신 가능한 방식
- 충돌 방지 시스템 필요
- CSMA/CD
- 데이터를 보내기 전에 캐리어 감지 등 사전에 가능한 한 충동을 방지하는 방식
- 1. 데이터 송신 전 무선 매체 탐색
- 2. 캐리어 감지 : 회선이 비어 있는지 판단
- 3. IFS(Inter FrameSpace) : 랜덤 시간만큼 대기, 무선 매체 사용 중이면 점차 그 간격을 늘려가며 대기
- 4. 데이터 송신
- 비유도 매체인 공기에 주파수 쏘아 무선 통신망 구축
- 2.4GHz 주파수 : 장애물에 강한 특성을 가지고 있지만 전자레인지, 무선 등 전파 간섭이 일어나는 경우가 많음
- 5GHz 주파수: 사용할 수 있는 채널 수도 많고 동시에 사용할 수 있기 때문에 상대적으로 깨끗한 전파 환경 구축 가능
- 와이파이
- 전자기기들이 무선 LAN 신호에 연결할 수 있게 하는 기술
- 무선 접속 장치(AP, Access Point)가 있어야 함
- 무선 LAN 활용 기술로 와이파이 뿐만아니라 지그비, 블루투스 등이 있음
- BSS(Basic Servcie Set)
- 기본 서비스 집합
- 동일 BSS 내에 있는 AP들과 장치들이 서로 통신이 가능한 구조
- 근거리 무선 통신 제공
- 하나의 AP만을 기반으로 구축
- 한 곳에서 다른 곳으로 자유롭게 이동하며 네트워크 접속 불가
- ESS(Extended Service Set)
- 하나 이상의 연결된 BSS 그룹
- 장거리 무선 통신 제공
- BSS보다 더 많은 가용성, 이동성 제공
- 사용자는 한 장소에서 다른 장소로 이동하며 중단 없이 네트워크에 계속 연결 가능
- 반이중화 통신(half duplex)
- 이더넷 프레임
- 데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출 및 캡슐화하며 7개의 구조로 이루어짐
- 1. Preamble(7 바이트) : 이더넷 프레임 시작임을 알림
- 2. SFD(Start of Frame Delimeter1바이트) : 다음 바이트부터 MAC 주소 필드가 시작됨을 알림
- 3. DMAC(Destination MAC address - 6바이트) : 수신 MAC 주소
- 4. SMAC(Source MAC address - 6바이트) : 송신 MAC 주소
- 5. EtherType(Type or Length - 2바이트) : 데이터 계층 위의 계층인 IP 프로토콜 정의 ex)IPv4 또는 IPv6
- 6. Payload(Data - 46 ~ 1500바이트) : 전달받은 데이터
- 7. CRC(Cycle Redundancy Check - 4바이트) : 에러 확인 비트
- MAC 주소 : 네트워크에 연결하기 위한 장치(LAN 카드)를 구별하기 위한 식별번호
- 계층 간 데이터 송신 과정
- 캡슐화 과정
- 상위 계층의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정
- 애플리케이션 계층의 데이터가 전송 계층으로 전달되면서 '세그먼트' 또는 '데이터그램'화되며 TCP(L4) 헤더가 붙여짐
- 인터넷 계층으로 가면서 IP(L3) 헤더가 붙여지게되며 '패킷'화가 됨
- 링크 계층으로 전달되면서 프레임 헤더와 프레임 트레일러가 붙어 '프레임'화가 됨
- 비캡슐화 과정
- 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정
- 링크 계층으로부터 올라오면서 프레임화된 데이터는 패킷화, 패킷화된 데이터는 세그먼트/데이터그램화, 그리고 메시지화가 되는 과정
- 최종적으로 사용자에게 애플리케이션의 PDU인 메시지로 전달
- 캡슐화 과정
- PDU(Protocol Data Unit)
- 네트워크의 어떠한 계층에서 계층으로 데이터가 전달될 때 한 덩어리의 단위
- 계층마다 부르는 명칭이 다름
- 헤더 : 제어 관련 정보들이 포함됨
- 페이로드 : 데이터를 의미
- 애플리케이션 계층 : 메시지
- 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
- 인터넷 계층 : 패킷
- 링크 계층 : 프레임(데이터 링크 계층), 비트(물리 계층)
- ex) HTTP의 헤더가 문자열 = 애플리케이션의 계층은 메시지
- 문자열인 이유 : 헤더에 authorization 값 등 다른 값들을 넣는 확장이 쉬움
참고할만한 사이트
- BSS vs ESS : https://www.geeksforgeeks.org/difference-between-bss-and-ess/
Difference between BSS and ESS - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
- 이더넷 프레임 구조 : https://mintnlatte.tistory.com/356
Ethernet Frame (이더넷 프레임)
■ 이더넷 (Ethernet)은 OSI 7계층 중 Layer 2 (데이터링크 계층)의 DLC(Data Link Control) 서비스의 대표적인 프로토콜 이다. (1) 이더넷 : 네트워킹의 한 방식으로 CSMA/CD라는 프로토콜을 사용한 통신방식. (2.
mintnlatte.tistory.com
728x90