Home 7 Layout
Post
Cancel

7 Layout

L7

DNS (Domain Name Service)

  • 인터넷의 일종의 호스트 주소록 서비스
  • 도메인 주소를 IP 로 변환해 주는 서비스

동작 방식

  • DNS 에 먼저 가서, IP 값을 받은후 IP 로 웹서버를 접속

명령어

명령어 : $ nslookup “주소”

위의 명령어를 통해 해당 주소의 IP 주소를 알 수 있다.

지원하는 기능 (레코드 타입)

  • A: 도메인에 대한 IP 응답
  • NS: 특정 도메인의 Name Server 정보 응답
  • CNAME: canonical name 설정
  • MX: 도메인의 메일 수신 서버 주소를 응답
  • TXT: 임의 문자열 부가 정보 관리, SPF, DKIM 용으로도 사용
  • SRV: IP 외에 Port 번호까지 서비스 가능

명령어 ex : $ nslookup -q=a “주소”

전체 구성

  • 자신의 도메인은 자신이 책임 지는 구조

DNS Query Flow

  • 확인을 할수있는 것은 1,8번 이지만 LocalDNS 에서 위와 같은 동작으로 도메인 주소에 대한 IP를 얻어온다.

L4

UDP (User Datagram Protocol)

  • unreliable
  • 별 다른 고려 없이 보냄

TCP (Transmission Control Protocol)

  • reliable
  • 신뢰성, 순서 맞춤, 데이터가 누락되지 않게 보냄

Well-Known 포트

참고 문헌

Tcp 세그먼트 구조

  • Source Port : 송신 포트
  • Destination Port : 수신 포트
  • Sequence Number : 순서 번호
  • Acknowledge Number : 어디까지 잘 받았는지, 다음 번 보낼 패킷의 Sequence Number 를 응답

Tcp 커넥션 맺기 (3 way handshake)

  1. 연결 요청 SYN 전송
  2. SYN 에 대한 응답으로 ACK
  3. 답변을 받았다고 ACk 보냄
  • 만약 데이터를 주고 받다가 누락되었을 때 어떤 방식으로 해결할까?

    송신측

    1. 특정 시간(타이머)동안 보낸 패킷에 대한 ACK 패킷이 없는 경우 retransmission 해당 패킷을 재전송한다.
    2. Duplicated ACK가 3번 오면, 재전송한다.

    수신측

    1. 중간 누락 패킷이 있는 경우, 순서가 맞는 마지막 패킷의 ACK 를 계속 전송

Tcp 커넥션 꾾기 (4 way handshake)

  1. 연결을 종료하기 위해 FIN 전송
  2. 응답으로 ACK를 전송
  3. 연결 종료의미로 FIN 전송
  4. 이에 응답으로 ACK 전송

L3

IP (Internet Protocol)

Ip 구조

  • TTL(Time To Live) : 네트워크에서 데이터의 유효 기간을 나타냄
  • Protocol : 프로토콜의 종류를 명시
    • 6 : TCP 를 나타냄
    • 17 : UDP 를 나타냄
    • Checksum : 중복 검사
  • IP

IPv4 Address

  • 4bytes
  • 보통 한 바이트 씩 숫자로 읽어서 표시 172.21.75.192
    • IP : 172.21.75.192
    • netmask : 255.255.0.0
    • Ip와 netmask 를 and하여 라우터의 주소를 알수 있다.
    • router : 172.21.0.1
      • 여기에서 라우터는 65052개의 단말기를 처리할 수 있다.

IP Addressing : CIDR (Classless InterDomain Routing)

  • 임의의 길이로 서브넷을 할 수 있음
  • a.b.c.d/x 형식
  • 172.21.0.1/16 으로 적는다 뒤에 16은 16개를 1로 할당한다는 것을 의미

A class , B class , C class 는 a,b,c,d/x 형식으로 작성하면 어떻게 표현할까?

/8 -A class , /16 -B class, /32 -C class

NAT Network Address Translation

  • IP 고갈을 걱정하여 만들어 낸 기능
  • NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
  • 다시말해 NAT 를 사용할 경우 내부 네트워크 내에서는 사설 아이피를 사용하여 분리하고 외부로 나갈때는 하나의 공인 아이피를 사용하여 나가게 된다.

ICMP

  • 네트워크 상태를 보고하기 위한 메세지
  • TTL 을 넘어가는 경우, source 에 알려준다.

L2

미디어 에 대한 접근을 제어

  • MAC (Media Access Control) : 컴퓨터간 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소
    • 충돌이 나지 않도록 관리

MAC 프로토콜의 종류

channel partitioning

  • TDMA : Time Division Multiple Access - 시간을 나눠서 해결
  • FDMA : Frequency Division Multiple Access - 주파수를 나눠서 해결

Random access

  • CSMA : Carrier Sense Multiple Access : 아무도 이야기하지 않는 것 같으면 보내기
  • CSMA/CD : CSMA/ Collision Detection : Ethernet
  • CSMA/CA : CSMA / Collision Avoidance : WIFI

CSMA/CD , CSMA/CA 동작방식

  1. 아무도 이야기 하지 않는 것 같으면 데이터 전송 시작
  2. 만약 보내는 동안 다른 데이터가 내게 도착하면 충돌이라 판단
  3. 충돌이 감지되면 보내던 데이터를 끊고, 랜덤(모두 똑같이 쉬게 되면 계속 충돌 발생)하게 쉬고 재전송

taking turns

  • 중간에 중재자를 두는 케이스
  • 토큰을 돌려가며 사용하는 케이스

Ethernet

Ethernet Frame 구조

  • Destination MAC Address - 6bytes (목적지 MAC 주소)
  • Sourve MAX Address - 6bytes (출발지 MAC 주소)
  • EtherType
    • 데이터의 프로토콜 명시 대부분 IP
  • Data
  • CRC

링크 레이어에서 데이터의 이동

dst MACsrc MACsrc IPdst IP
R1노트북노트북 IP웹서버 IP
R2R1노트북 IP웹서버 IP
R3R2노트북 IP웹서버 IP
R4R3노트북 IP웹서버 IP
웹서버R4노트북 IP웹서버 IP

다음 홉의 MAC 주소는 어떻게 알 수 있을까?

  • 포워딩 테이블을 보고 다음 홉을 판단
  • ARP 테이블을 보고 다음 홉의 MAC 을 판단
  • ARP 테이블에는 IP주소,MAC주소,TTL값을 가지고있다.

ARP (Address Resolution Protocol)

  • 네트워크 상에서 IP 주소와 MAC 주소를 매핑하기 위해서 사용
  • Ethernet Frame 목적지 주소를 브로드캐스팅으로 요청
    • ex) Who has x.x.x.x? Tell x.x.x.x 처럼 물어본다.

ARP 구조

  • Sender Hardware Address
  • Sender Protocol Address
  • Target Hardware Address
  • Target Protocol Address

LAN (Local Area Network)

  • 라우터를 거치치 않고 접근 가능한 영역
  • 공유되는 media 로 연결된 집합

Ethernet 토폴로지

  • Bus 형
  • Star 형 - 스위치 벙식
This post is licensed under CC BY 4.0 by the author.