All Honey Tip

[기술 면접] 2. OSI 7계층과 TCP/IP 4계층을 비교하여 설명해주세요.

OSI 7계층과 TCP/IP 4계층을 비교하여 설명해주세요.

저번 시간에 이어서, 네트워크 통신 단계를 이해하는 구간입니다. 범위가 넓어서 직무에 따라 질문이 다양하게 들어올 수 있습니다. 각각의 물리 장치까지 완벽하게 숙지하긴 힘들겠지만, 전체적인 구조를 알고 설명할 수 있어야 합니다. 아래 항목중 필자의 의견으로 구성된 답변이 일부 있습니다. 참고하시어 본인만의 답변을 구사하시길 권합니다. 이제부터 OSI 계층과 그에 관련된 개념들에 대해 알아보도록 합니다.

OSI





Q: OSI 7계층과 TCP/IP 4계층을 비교하여 설명해주세요.

OSI 7계층은 네트워크 통신을 표준화한 모델로, 통신 시스템을 7단계로 나누어 설명한 것입니다. 하지만, OSI 모델이 실무적으로 이용하기에 복잡한 탓에 실제 인터넷에서는 이를 단순화한 TCP/IP 4계층이 사용되고 있습니다.

OSI

  • 1계층 – 물리 계층, Physical Layer
    • 전송에 필요한 두 장치 간의 실제 접속과 절단 등에 필요한 전송 매체의 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙 정의.
    • 0과 1을 전압의 고저나 빛의 점멸로 변환.
    • 커넥터, 케이블 모양을 규정.
    • 프로토콜 : Ethernet.RS-232C
    • 장비 : 허브, 리피터
    • 전송 단위 : 비트


  • 2계층 – 데이터 링크 계층, Data Link Layer
    • 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함.
    • 상대방과 물리적인 통신을 위한 통신로 확립 및 통신로를 통과하는 동안에 오류 검사 실시
    • 직접 연결된 기기 간의 데이터 프레임 식별 및 전송.
    • 흐름제어, 프레임 동기화, 오류 검사, 순서 제어.
    • 프로토콜 : MAC, HDLC, LAPB, PPP, LLC
    • 장비 : 브리지, 스위치
    • 전송 단위 : 프레임


  • 3계층 – 네트워크 계층, Network Layer
    • 개방 시스템들 간의 네트워크 연결 관리(네트워크 연결 설정/해제)
    • 주소 관리, 경로 선택, 트래픽 제어, 패킷 정보 전송
    • 프로토콜 : X.25, IP, ICMP, IGMP, IPSec, ARP
    • 장비 : 라우터
    • 전송 단위 : 패킷


  • 4계층 – 전송 계층, Transport Layer
    • 데이터가 능률적으로 확실하게 도착하는 지를 담당.
    • 종단 시스템(End to End) 간에 투명한 데이터 전송을 가능하게 함.
    • 전송 연결 설정, 데이터 전송, 연결 해제, 주소 설정, 다중화, 오류제어, 흐름제어
    • 장비 : 게이트웨이
    • 프로토콜 : TCP, UDP, ARP
    • 전송 단위 : 세그먼트


  • 5계층 – 세션 계층, Session Layer
    • 데이터가 흐를 수 있는 가상 경로의 확립 및 해제
    • 송수신측 간의 관련성 유지
    • 대화 제어/구성/동기 제어, 데이터 교환 관리, 통신 관리, 연결 확립/끊기, 4계층 이하의 층관리
    • 프로토콜 : SSH, TLS
    • 전송 단위 : 메시지


  • 6계층 – 표현 계층, Presentation Layer
    • 응용 계층에서 받은 데이터를 세션 계층에 맞게, 세션 계층에서 받은 데이터를 응용 계층에 맞게 변환.
    • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식 변환, 문맥 관리, 전송 형식에 관한 책임
    • 프로토콜 : JPEG, MPEG, SMB, AFP
    • 전송 단위 : 메시지


  • 7계층 – 응용 계층, Application Layer
    • 사용자가 OSI환경에 접근할 수 있도록 서비스를 제공.
    • 특정 애플리케이션에 특화된 프로토콜(메일용 프로토콜, 로그인용 프로토콜..)
    • 프로토콜 : DHCP, DNS, HTTP, SMTP, FTP
    • 전송 단위 : 메시지


  • TCP/IP 4계층/5계층
    • OSI 7 Layer가 나오기 전에 설계된 모델입니다.
    • 호환성, 장비 개발 측면에서 OSI모델이 더 많이 사용되지만, 실질적인 통신에는 TCP/IP모델이 사용됩니다.







Q: 앱 개발 시에 네트워크 문제가 발생했습니다. 트러블 슈팅을 위해 어떻게 접근할 것인가요?

3계층, 4계층, 7계층 순서대로 확인할 것입니다. 우선 네트워크 계층을 ping으로 ip 접근이 되는 지 확인하고, 전송 계층은 telnet으로 port 접근이 되는 지 확인하며 마지막으로 curl, 포스트맨, 브라우저로 애플리케이션에 접근이 되는 지 확인할 것입니다.






Q: 2계층의 역할은 무엇인가요?

하나의 네트워크 대역 LAN에서 데이터를 안전하게 전달하는 역할입니다. 이를 위해 오류제어, 흐름제어, 순서제어를 수행합니다.






Q: 2계층에서 사용하는 장비들은 무엇인가요?

브릿지, 스위치가 있습니다.







Q: 2계층에서 통신에 사용하는 주소는 어떤건가요?

MAC 주소입니다. 네트워크상에서 서로를 구분하기 위한 식별자로, 각 장치의 NIC마다 할당된 물리적 주소입니다. ARP를 사용하여 IP 주소로 MAC주소를 알 수 있고 RARP는 MAC주소로 IP주소를 알 수 있습니다.








Q: 2계층에서 사용하는 프로토콜은 무엇이 있나요?

LAN에서는 대부분 Ethernet 프로토콜을 사용합니다.







Q: 3계층의 역할은 무엇인가요?

LAN과 LAN을 연결시켜주는 계층으로, 데이터를 목적지 까지 최적의 경로로 전달할 수 있도록 라우팅을 수행합니다.






Q: 3계층에서 사용하는 장비는 무엇인가요?

라우터입니다. 서로 다른 네트워크를 연결하기 위한 장비이며, 최적의 경로를 결정하기 위해 RIP, IGRP, OSPF와 같은 알고리즘들을 사용하여 라우팅 테이블을 관리합니다.







Q: 3계층에서 통신에 사용하는 주소는 무엇인가요?

IP주소를 사용합니다.






Q: 네트워크가 발전하면서 IP 주소가 부족해지기 시작했는데, 이를 어떻게 해결했는지 아시나요?

IPv6가 등장했지만, 이미 존재하는 주소체계를 전부 옮기기엔 큰 비용이 드는 이유로 잘 사용하지 않습니다. 그리고 IP 낭비를 줄이기 위해 서브넷 마스크, Public IP와 Private IP 또한 등장하여 IP 주소 부족 문제를 해결했습니다.









Q: 본인 컴퓨터에서 cmd로 ipconfig 명령어를 사용하면 어떤 IP 주소가 나오나요?

사설 IP주소가 나옵니다. 추가로 네이버같은 포털에서 IP를 검색하면 공인 IP 주소를 조회할 수 있습니다.







Q: NAT이란 무엇인가요?

Network Address Translation의 약자로, 공인 IP와 사설 IP를 상호변환해주는 기술입니다. 외부에서 공인 IP로 들어온 데이터를 사설 IP로 변환해서 데이터를 전달하고 그 반대의 역할도 수행합니다.







Q: 4계층의 역할은 무엇인가요?

송신자의 프로세스와 수신자의 프로세스를 연결하는 역할을 합니다.







Q: 4계층에서는 무슨 장비를 사용하나요?

게이트웨이를 사용합니다. WAN에서 통신하기 위해 필요하며 서로 다른 네트워크의 규격을 알맞게 변환하여 통신할 수 있습니다.






Q: 4계층에서 통신에 사용하는 주소는 무엇인가요?

포트 번호를 사용합니다.






Q: Well=Known 포트에 대해 아는대로 말씀해주세요.

1024 미만의 포트들 중 전 세계에서 표준으로 사용하는 포트 번호를 의미합니다.

서비스 이름포트 번호
FTP20, 21
SSH22
TELNET23
DNS53
DHCP67, 68
TFTP69
HTTP80
HTTPS443





Q: 4계층에서 사용하는 대표적인 프로토콜은 뭐가 있나요?

TCP와 UDP입니다.






Q: 흐름제어, 혼잡제어, 오류제어, 순서제어를 설명해보세요.

  • 흐름제어 : 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지합니다.
    • 정지 – 대기 : 전송 패킷에 대한 응답을 받은 후 패킷을 전송합니다.
    • 슬라이딩 윈도우 : 수신 측에서 설정한 윈도우 크기만큼 송신 측에서 확인 응답(ACK) 없이 전송할 수 있게 하여 흐름을 동적으로 조절하는 제어 알고리즘입니다.
  • 혼잡제어 : 네트워크 내의 패킷 수가 과도하게 증가하지 않도록 방지합니다.
  • 오류제어 : 전송된 데이터가 손실 되었거나, 훼손된 경우, 순서가 어긋나는 경우, 또는 중복되는 경우를 해결합니다.
    • 슬라이딩 윈도우 : 위와 같습니다.
  • 순서제어 : 패킷이 송신한 순서대로 목적지에 도착하도록 제어합니다.




마치며

OSI 7 Layer를 중심으로 네트워크 통신 방법과 관련 내용들에 대해 알아보았습니다. 추가로 일반적인 Computer Science 질문이 아닌, 실무 지식을 약간은 기반으로 하는 질문들도 기재했습니다. 실제 면접에서 발생했던 질문이지만, 평범한 컴퓨터공학 공부만으로 대답하기엔 어려움이 있을 수 있습니다. Network 개념들과 위 답변을 비교해가며 학습하신다면 성장을 위한 좋은 밑거름이 될 거라고 믿습니다.

다음 시간에는 TCP와 UDP에 대한 면접 질문들을 알아보겠습니다.

net


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다