📗 Computer Science/Network

📗[CS/Network] 02. 네트워크 계층

혜덕hyeduck 2024. 5. 19. 19:26

계층 구조

  • 특정 계층 변경 시 타 계층에 영향 X

애플리케이션 계층

  • 응용 프로그램이 사용되는 프로토콜 계층이며 웹 서비스, 이메일 등 서비스를 실질적으로 사용자에게 제공
  • 프로토콜 : FTP, HTTP, SSH, SMTP, DNS
    • FTP : 장치간 파일을 전송하는 데 사용되는 표준 통신 프로토콜
    • SSH : 네트워크 서비스를 안전하게 운영하기 위한 암호화 프토토콜
    • HTTP : 웹 사이트 이용 시 사용되는 프로토콜
    • SMTP : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜
    • DNS : 도메인 이름과 IP 주소를 매핑해주는 서버 → IP 주소가 바뀌어도 사용자들에게 똑같은 도메인 주소로 서비스

전송 계층

  • 송신자, 수신자를 연결하는 통신 서비스 제공
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 애플리케이션 계층과 인터넷 계층 중계 역할
  • 프로토콜 : TCP, UDP
    • TCP
      • 순서 보장
      • 연결 지향(수신 여부 확인)
      • 신뢰성 보장
      • 가상회선 패킷 교환 방식
        • 각 패킷에 가상회선 식별자 포함
        • 모든 패킷을 전송하면 가상회선 해제
        • 패킷들은 순서대로 도착
    • UDP
      • 순서 비보장
      • 수신 여부 확인 X
      • 데이터크램 패킷 교환 방식
        • 패킷이 독립적으로 이동 → 분할된 여러 패킷이 서로 다른 경로로 전송
        • 도착 순서가 다를 수 있음

3-way handshake

TCP 연결 확립 과정 → 연결 확립으로 신뢰성 구축 후 데이터 전송 시작(UDP에는 X)

1️⃣ SYN : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN송신

SYN(SYNchronization) : 연결 요청 플래그

ISN(Initial Sequence Numbers) : 초기 네트워크 연결 시 할당된 32비트 고유 시퀀스 번호

2️⃣ SYN + ACK : 서버는 클라이언트의 SYN을 수신하고, 서버의 ISN을 보내며 승인 번호로 클라이언트의 ISN+1을 보냄

ACK(ACKnowledgement) : 응답 플래그

3️⃣ ACK : 클라이언트는 서버의 ISN+1한 값인 승인 번호를 담아 ACK를 보냄

4-way handshake

TCP 연결 해제 과정

1️⃣ 클라이언트가 연결을 닫을 때 FIN 설정된 세그먼트를 서버에 송신 & 클라이언트는FIN_WAIT_1상태로 들어감

2️⃣ 서버는 클라이언트로 ACK 설정된 승인 세그먼트 송신 & 서버는 CLOSE_WAIT 상태로 들어감 & 클라이언트가 ACK을 수신하면 FIN_WAIT_2 상태로 들어감.

3️⃣ 서버는 ACK을 보내고, 일정 시간 이후 FIN 세그먼트를 송신

4️⃣ 클라이언트는 TIME_WAIT 상태가 되고 & 다시 서버로 ACK을 송신 & 서버는 CLOSED 상태 & 클라이언트는 일정 시간 대기 후 연결이 닫히고 자원 연결 해제

💡TIME_WAIT 상태가 필요한 이유?

  • 소켓이 바로 소멸되지 않고 일정 시간 유지하는 상태
  • 지연 패킷 문제 예방, 두 장치가 연결이 닫혔는지 확인 등을 통해 데이터 무결성 유지

인터넷 계층(네트워크 계층)

  • 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층
  • 패킷을 수신해야 할 상대 주소를 지정하여 데이터 전달
  • 비연결형
  • 프로토콜 : IP, ICMP, ARP

링크 계층

  • 전선, 광섬유, 무선 등으로 실질적으로 데이터를 전달하고, 장치 간 신호를 주고받는 규칙을 정하는 계층
  • 물리 계층
    • 무선 LAN, 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층
  • 데이터링크 계층
    • 이더넷 프레임을 통해 에러 확인, 흐름 제어, 접근 제어 담당

유선 LAN(IEEE802.3)

  • 유선 LAN을 이루는 이더넷은 IEE802.3 프로토콜을 따르며, 전이중화 통신 사용
    • 전이중화 통신(Full Duplex)
      • 양쪽 장치가 동시에 송수신이 가능한 방식
    • CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
      • 이전 유선 LAN에서 사용했던 반이중화 통신 방식
      • 데이터를 보낸 이후 충돌 발생 시 일정 시간 이후 재전송
  • 케이블
    • 트위스트 페어 케이블 : 여덟 개의 구리선을 두 개씩 꼬아서 묶은 케이블 ex) UTP 케이블(쉴드 처리X), STP 케이블(쉴드 처리)
    • 광섬유 케이블 : 레이저를 이용해서 통신 → 장거리, 고속 통신 가능

무선 LAN(IEEE802.11)

  • 무선 LAN 장치는 수신과 송신에 같은 채널을 사용하므로 반이중화 통신 사용
    • 반이중화 통신(Half Duplex)
      • 양쪽 장치가 서로 통신이 가능하지만, 동시에 통신 X
    • CSMA/CA(Carrier Sense Multiple Access with Collision Avoide)
      • 장치에서 데이터를 보내기 전에 캐리어 감지 등으로 사전에 가능한 한 충돌을 방지하는 방식
        1. 데이터를 송신하기 전 무선 매체를 살핌
        2. 캐리어 감지 : 회선이 비어 있는지 판단
        3. IFS(Inter FrameSpace) : 랜덤 값을 기반으로 정해진 시간만큼 기다리며, 만약 무선 매체가 사용 중이면 간격을 늘리며 대기
        4. 데이터 송신
  • 무선 LAN을 이루는 주파수
    • 주파수 대역
      • 2.4GHz : 장애물에 강하지만, 전파 간섭이 발생
      • 5GHz : 장애물에 약하지만, 상대적으로 깨끗한 전파 환경 구축
    • 와이파이
      • 무선 접속 장치(AP, 공유기)를 통해 유선 LAN에 흐르는 신호를 무선 LAN 신호로 바꿔 전자기기들이 무선 LAN 신호에 연결 가능하게 하는 기술
    • BSS(Basic Service Set)
      • 동일 BSS 내에 있는 AP와 장치들이 서로 통신이 가능한 구조
      • 근거리 무선 통신 제공
      • 사용자가 한 곳에서 다른 곳으로 이동하며 네트워크에 접속하는 것은 불가능
    • ESS(Extended Service Set)
      • 하나 이상의 연결된 BSS 그룹
      • 장거리 무선 통신 제공
      • 한 장소에서 다른 장소로 이동하며 중단 없이 네트워크에 계속 연결 가능

이더넷 프레임

데이터 링크 계층에서 이더넷 프레임을 통해 전달받은 데이터의 에러 검출, 캡슐화

  • Preamble : 이더넷 프레임이 시작
  • SFD(Start Frame Delimiter) : 다음 바이트부터 MAC주소 필드가 시작됨
  • DMAC, SMAC : 수신, 송신 MAC 주소
    • MAC 주소 : 각 장치 내 네트워크에 연결하기 위한 장치(LAN카드) 식별 번호, 6바이트
  • EtherType : 데이터 계층 위 계층인 IP 프로토콜 정의 ex) IPv4, IPv6
  • Payload : 전달받은 데이터
  • CRC : 에러 확인 비트

계층 간 데이터 송수신 과정

캡슐화 과정

헤더와 데이터를 하위 계층의 데이터 부분에 포함 시키고, 해당 계층의 헤더를 삽입하는 과정

비캡슐화 과정

하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 젝 ㅓ하는 과정

PDU(Protocol Data Unit)

네트워크의 계층간 데이터 전달 시 한 덩어리의 단위를 의미

제어 정보가 포함된 헤더 + 데이터를 의미하는 페이로드로 구성

  • 애플리케이션 계층 : 메시지
  • 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
  • 인터넷 계층 : 패킷
  • 링크 계층 : 프레임(데이터 링크 게층), 비트(물리 계층)