독서(Reading)/오늘의 책(Today's book)

2022년 7월 1주차 면접을 위한 CS 전공지식 노트 - SECTION 2.2

Chaany 2022. 7. 3.
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별 상이)
        • 가상회선 패킷 교환 방식 사용
          • 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 '순서대로' 도착하는 방식
      • 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) : 빛의 굴절률이 낮은 부분
      • 무선 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보다 더 많은 가용성, 이동성 제공
          • 사용자는 한 장소에서 다른 장소로 이동하며 중단 없이 네트워크에 계속 연결 가능
      • 이더넷 프레임
        • 데이터 링크 계층은 이더넷 프레임을 통해 전달받은 데이터의 에러를 검출 및 캡슐화하며 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

댓글