티스토리 뷰

CS

[Network]기본 개념

신잼 2021. 10. 30. 18:55
OSI 모델과 TCP/IP 모델을 기준, 키워드 중심으로 기본 개념을 정리합니다.

네트워크란?

pixabay

  • 컴퓨터 간의 연결을 컴퓨터 네트워크 줄여서 네트워크라 한다
  • 작은 네트워크부터 거대한 네트워크까지 아우르는 연결된 거대한 네트워크를 인터넷이라고 한다

규모에 따른 구분

  • PAN(Personal Area Network)
  • LAN(Local Area Network)
    • 일반적인 가정 → 공유기 등 사용
    • 소규모 회사 → DMZ [각주:1](i.e. Mail Server, DNS...) 등 구성, 온프레미스(데이터센터) 또는 클라우드에 서버 운영
  • WAN(Wide Area Network)
    • ISP(인터넷 서비스 제공자, i.e. KT, U+)가 제공하는 서비스를 사용하여 구축된 네트워크

캡슐화/역 캡슐화

데이터를 보내기 위해서는 목적지까지 전달을 위해 헤더라고 불리는 곳에 정보가 담긴다. 각 계층별로 처리하는 정보 내용이 다르다

  • 캡슐화: 데이터 송신을 위해 L7에서 L1로 거치면서 헤더가 추가된다
  • 역 캡슐화: 데이터 수신을 위해 L1에서 L7로 오면서 헤더가 제거된다

통신 방식

전이중

반이중

  • 데이터 송수신을 동시에 하는 방식
  • 컴퓨터간 직접 연결 할 때 Cross Cable을 사용하기 때문에 전이중 통신방식이 된다
  • 스위치 내부에서는 전이중 통신 방식 사용 → 허브를 대체하게 된다
  • 회선 하나로 송신과 수신을 번갈아가면서 통신
  • 데이터를 동시에 전송하면 충돌(Collision)발생
  • 허브에서는 회선 하나로 송신과 수신이 번갈아가면서 사용하기 때문에 반이중 통신이 된다

TCP/IP model VS OSI 7 model

https://www.slideshare.net/sarangaprabod/tcpip-model-194625832

OSI 7 Layers

ISO(International Organization for Standardization)에서 정한 데이터를 주고받기 위한 통신 규격

TLDR

  역할 데이터 단위 장비 프로토콜
L1(Physical Layer) 전기신호 변환 및 제어 Bits UTP/STP Cable, Repeater, Hub Coax,Fiber,Wireless
L2(Data Link Layer) 데이터 전송 및 물리 주소 결정(MAC) Frame Switch Ethernet
L3(Network Layer) 네트워크와 통신하기 위한 경로 설정 및 논리 주소(IP) 결정 Packets Router IP,IPsec,ICMP
L4(Transport Layer) 신뢰할 수 있는 데이터 전달 구현 Segments   TCP,UDP
L5(Session Layer) 앱간의 세션 관리 Data   API's, Socket
L6(Presentation Layer) 네트워크의 데이터 번역자로서의 역할 Data   텔넷
L7(Application Layer) 프로세스 간 통신 접속 Data   HTTP, FTP, SMTP

L1(Physical Layer, 물리계층)

  • 시스템 간의 물리적인 연결과 전기 신호 변환 및 제어
  • 랜 케이블 → 트위스트 케이블(Twisted cable)
    • UTP/STP
      • UTP(Unshielded Twisted Pair): 저렴하고 노이즈에 취약, 4쌍의 구리선, 주로 많이 사용
      • STP(Shielded Twisted Pair): 비싸지만 노이즈에 강함, 1쌍의 구리선
    • Straight Through(Direct)/Cross over cable
      • Straight: 컴퓨터와 스위치를 연결할 때 사용, 모든 구리선이 같은 번호로 연결되어 있기 때문에 송신 측과 수신 측에서 같은 번호로 데이터를 전송하게 되면 충돌이 난다,  IP 사용하는 장비를 제외한 장치 간 연결(스위치-허브, 스위치-라우터..)
      • Cross: 컴퓨터 간에 직접 랜 케이블을 연결할 때 사용, IP 사용하는 장비 연결[각주:2](라우터-라우터, 스위치-스위치..)
    • 8개의 구리선이 송신과 수신 측에서 연결되는 번호에서 차이가 난다.
      1,2,3,6번 선을 사용하며 나머지 네 개는 사용하지 않는다
    • Rollover Cable: 네트워크 장비 관리를 위하여 시리얼 통신으로 콘솔과 연결하는 케이블
  • 네트워크 장비
    • 리피터: 다른 장비가 기능을 지원하기 때문에 현재는 사용되지 않는다. 멀리 떨어져 있는 컴퓨터 간 신호를 정형화하고 증폭하는 기능을 갖고 있는 중계 장비
    • 허브
      • 여러 개 포트에 연결하여 컴퓨터 간 직접 연결하지 않고 컴퓨터를 연결
      • 데이터 신호 전달에 있어 컴퓨터를 특정 지을 수 없다. 모든 포트에 동일하게 전달
      • 여러 컴퓨터가 동시에 전달하면 충돌(Collision)이 발생
      • 충돌 도메인이 허브에 연결된 모든 컴퓨터

L2(Data Link Layer, 데이터 링크 계층)

  • 네트워크 기기 간의 데이터 전송 및 물리 주소 결정
  • 데이터 맨 앞에 이더넷 헤더가, 마지막에 trailer 붙는다 →이더넷 헤더+데이터+트레일러=프레임
    • 이더넷 헤더(14바이트)
      • 목적지 MAC 주소(6바이트)
      • 출발지 MAC 주소(6바이트)
      • 유형(2바이트): 상위 프로토콜의 종류
        • i.e. IPv4, ARP...
    • 트레일러: FCS(Frame Check Sequence)
      • 데이터 전송 중에 오류가 발생했는지 확인
  • 프로토콜: 이더넷 사용
    • 데이터에 목적지 정보(MAC 주소)를 추가하여 컴퓨터를 특정
      • 48비트, 16진수로 표기
      • 전 세계에서 유일한 번호로 랜카드가 갖는 물리 주소
    • CSMA/CD(Carrier Sense Multiple Detection)를 통해 충돌 해결
      • 현재는 효율이 좋지 않아 사용되지 않는다 → 스위치가 해결
  • 네트워크 장비: 스위치(레이어 2 스위치/스위칭 허브)
    • MAC 주소 테이블: 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소
    • 포트에 연결된 각각의 컴퓨터가 충돌 도메인
    • 플러딩: 프레임이 도착 전까지는 테이블에 정보가 담기지 않기 때문에 데이터 전송을 위해 정보가 없는 모든 포트들이 스위치로 프레임 전송
      • ARP(Address Resolution Protocol) 요청을 통해 MAC 정보를 알 수 있다.
        • IP 주소를 통해 네트워크에 브로드캐스트
        • ARP 테이블에 정보를 저장하며 IP가 바뀌면 다시 갱신해야 한다
    • 필터링: 프레임이 왔을 때 해당 프레임의 도착지 정보가 있으면 플러딩 없이 도착지로만 전송을 한다. 이때 도착지 정보를 찾는 것을 MAC 주소 필터링이라고 한다.

L3(Network Layer, 네트워크 계층)

  • 네트워크 간의 통신을 가능하게 하는 역할
  • 다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소 결정
  • 네트워크 장비: 라우터, 레이어 3 스위치
    • 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려주는 기능
    • IP 주소를 사용하여 네트워크 식별
    • 라우터 IP = 게이트웨이 = 네트워크 출입구
      • i.e. 192.168.1.0/24 일 때 192.168.1.1
    • 라우팅 테이블에 다른 네트워크로 가는 최적의 경로 저장
    • 라우팅 프로토콜: 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
      • RIP, OSPF, BGP 등
  • 프로토콜: IP(Internet Protocol)
    • 헤더 → 프레임에 IP 헤더가 앞에 붙으면서 패킷이라고 불린다
    정보통신용어해설

L4(Transport Layer, 트랜스포트 계층)

  • 목적지에 신뢰할 수 있는 데이터 전달 구현
    • 오류 점검 기능
    • 목적지가 어떤 애플리케이션인지 식별
  • 신뢰성/효율성
    • 신뢰성: 연결형 통신=TCP
    • 효율성: 비연결형 통신=UDP
  • TCP/UDP 헤더가 앞에 붙으면서 세그먼트(segment)라 불린다

정보통신용어해설

L5(Session Layer, 세션 계층)

  • Application 간의 대화를 유지하기 위한 구조 제공
  • 세션 체결, 통신 방식 등을 결정
  • 전송 모드 결정(반이중, 전이중, 단방향, 병렬, 직렬, 동기, 비동기 등)
  • 대화와 동기를 위한 데이터 교환을 관리(송수신의 동기권 제어)

L6(Presentation Layer, 프레젠테이션 계층)

  • 네트워크의 데이터 번역자로서의 역할(어프리케이션 간에 잘 통신할 후 있도록 변환 작업)
  • 문자 코드, 압축, 암호화 등의 데이터를 변환

L7(Application Layer, 응용 계층)

  •  프로세스 간 통신 접속을 위해 설계된 추상 계층
  • 이메일, 파일 전송, 웹 사이트 등 Application에 대한 서비스 제공

IP

https://ggnindia.dronacharya.info/ECE/Downloads/Sub_info/6thSem/PPT/ComputerNetworks/Section-2/Lecture8.pdf

  • Network ID + Host ID로 표현된다
    • Network ID: 어떤 네트워크인지 구분하는 값
    • Host ID: 어떤 컴퓨터인지 구분하는 값
  • 브로드캐스트 IP, 네트워크 IP
    • 네트워크 IP
      • 네트워크를 대표하는 주소
      • 호스트 ID가 모두 0
    • 브로드캐스트 IP
      • 네트워크에 있는 모든 컴퓨터에게 데이터 전송하는 데 사용되는 주소
      • 호스트 ID가 모두 1
  • 32비트, 10진수로 표기
  • 8비트를 옥텟(octet)으로 부름

IPv4 vs IPv6

IPv4로는 사용할 수 있는 IP가 부족하기 떄문에 IPv6이 등장

  • IPv4: 32비트 → 약 43억개
  • IPv6: 128비트 → 340간(340조의 1조 배의 1조 배)

Public/Public(공인 IP/사설 IP)

IPv4의 부족한 IP를 해결하기 위해 나온 방법

  • Public IP: 인터넷에서 식별되는 주소
  • Private IP: LAN에 있는 컴퓨터 내에서만 식별되는 주소, 공인 IP로 사용될 수 없다
    • A class: 10.0.0.0 ~ 10.255.255.255
    • B class: 172.16.0.0 ~ 172.31.255.255.255
    • C class: 192.168.0.0 ~ 192.168.255.255

Network Class

네트워크의 크기에 따라 A~E로 5가지로 구분, 클래스에 따라 용도가 정해져 있다

  • A: 대규모 네트워크
    • 8bit network id + 24bit host id
    • 1.0.0.0 ~ 127.255.255.255
  • B: 중간 규모 네트워크
    • 16bit network id + 16bit host id
    • 128.0.0.0 ~ 191.255.255.255
  • C: 소규모 네트워크
    • 24bit network id + 8bit host id
    • 192.0.0.0 ~ 2223.255.255.255
  • D: 멀티캐스트(multicast) 주소
  • E: 연구 및 특수용도 주소

서브 넷팅(Subnetting)

subnetting: 네트워크를 분할하는 것, Host ID를 사용

subnet: 분할된 네트워크

subnetmask: IP에서 Network ID와 Host ID를 명시하기 위해 사용되는 값

  • 192.168.1.0, 255.255.255.0
  • Prefix 표기법 → 192.168.1.0/24

Reference

 

 

반응형

'CS' 카테고리의 다른 글

[Network] HTTP/0.9 ~ 1.1  (0) 2022.01.03
[Network/OS] Network Socket(IP Socket, WebSocket)  (0) 2021.12.27
Interpreter VS Compiler  (0) 2021.11.26
[DB]Transaction(Race condition, Isolate level  (0) 2021.11.16
[Network]Cloud 종류  (0) 2021.10.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함