Dev_from the Bottom

OSI 7 Layer, Http Code, Port 본문

Network

OSI 7 Layer, Http Code, Port

고무라면 2023. 6. 4. 20:17
  • OSI 참조 모델
    • TCP/IP 계층 모델
      • 애플리케이션 계층(5, 6, 7)
      • 트랜스포트 계층(4)
      • 인터넷 계층(3)
      • 네트워크 인터페이스 계층(1,2)
    • OSI 참조 모델(7Layer)
      • 애플리케이션 계층(7)
      • 프리젠테이션 계층(6)
      • 세션 계층(5)
      • 트랜스포트 계층(4)
      • 네트워크 계층(3)
      • 데이터 링크 계층(2)
      • 물리 계층(1).

    • TCP/IP 계층 모델
      • <클라이언트> <서버>

      • 애플리케이션 계층 1 애플리케이션 계층
      • 트랜스포트 계층 2 트랜스포트 계층
      • 인터넷 계층 3 인터넷 계층
      • 네트워크 인터페이스 계층 4 네트워크 인터페이스 계층
      • 네트워크 어댑터 네트워크 어댑터
        •                                                **인터넷**
          
      • 클라이언트1 : 웹 브라우저에서 보고 싶은 웹 페이지의 URL은 www.sample.co.kr.
      • 클라이언트2 : 웹 브라우저의 40000번 포트에서 웹서버의 80번 포트로 요청한다.
      • 클라이언트3 : 클라이언트 PC(192.168.2.123)에서 웹 서버 컴퓨터(172.0.0.23)으로 요청한다.
      • 클라이언트4 : 이더넷 헤더 작성.
        • 주변 장치까지 데이터를 전달하는 데 필요한 정보로 변경한다.
        • 전기적 신호로 인터넷으로 보낸다.
      • 서버4 : 자신이 수신해야 하는 데이터인지 확인. 맞다면,
        • 트랜스포트 계층으로 데이터를 전달.
      • 서버1 : 요청 받은 내용에 대해서 결과 웹페이지를 만든다.
      • 서버2 : 웹 서버의 80번 포트에서 웹브라우저의 40000번 포트로 응답한다.
      • 서버3 : 웹 서버 컴퓨터(172.0.023)에서 클라이언트 PC(192.168.2.123)로 응답한다.
      • 서버4 : 이더넷 헤더 작성.
        • 주변 장치까지 데이터를 전달하는 데 필요한 정보로 변경한다.
        • 전기적 신호로 인터넷으로 보낸다.
      • 클라이언트4 : 자신이 수신해야 하는 데이터라고 판단되면, 트랜스포트 계층에 데이터를 전달.
      • <클라이언트> <서버>

      • 애플리케이션 계층 1(HTTP) 애플리케이션 계층
      • 트랜스포트 계층 2(TCP) 트랜스포트 계층
      • 인터넷 계층 3(IP) 인터넷 계층
      • 네트워크 인터페이스 계층 4(이더넷) 네트워크 인터페이스 계층
      • 네트워크 어댑터 네트워크 어댑터
      • 네트워크 장비(라우터) Mac address 네트워크 장비(라우터)
        •                                                  **인터넷**
          
      • 대표적 Protocol
        • 애플리케이션 계층(5, 6, 7)
          • HTTP : 웹 페이지를 주고 받음
          • HTTPS: 보안을 위해서 웹 페이지를 주고 받는 과정에서 암호화 함.
          • POP3 : 서버에 보관된 수신메일을 가져옴.
          • SMTP : 메일을 송신함.
          • FTP : 파일을 전송함.
          • Telnet : 컴퓨터를 원격에서 제어함.
          • SSH : 보안을 위해서 컴퓨터를 원격에서 제어하는 과정을 암호화.
          • DHCP : 컴퓨터에게 프라이빗 동적IP를 할당함.
          • DNS : 도메인 이름과 IP를 서로 변환함.
          • SSL : 보안을 위해서 통신 과정에서 주고 받는 데이터를 암호화.
          • NTP : 네트워크에 연결된 장비들의 시스템 시간을 동기화할 때 사용.
          • LDAP : 네트워크에 연결된 자원의 통합 관리에 필요한 디렉터리 서비스를 제공할 때 사용.
        • 트랜스포트 계층(4)
          • 애플리케이션 계층의프로그램에서 전달받은 데이터를 목적지 애플리케이션계층의 프로그램까지 전달하는 역할.
          • 데이터가 제대로 전달되지 않았을 때 재전송.
          • TCP : 애플리케이션의 데이터를 송소신하되 데이터의 정확한 전달을 중시함.
          • UDP : 애플리케이션의 데이터를 송수신하되 데이터의 전송속도를 중시함.
        • 인터넷 계층(3)
          • 데이터에 어드레스 정보를 덧붙여 목적지까지 무사히 전달.
          • 인터넷 통신에서 목적지까지의 경로는 라우터 장비를 이용해서 경로를 찾음.
          • IP : 패킷을 목적지까지 전달함.
          • ICMP : IP의 통신 오류를 전달함. * Ping, TraceRouter 관련.
          • ARP : 네트워크 장비의 MAC 어드레스를 알아냄.
          • IPsec : 패킷을 암호화하여 전달.
        • 네트워크 인터페이스 계층(1,2)
          • 유선 LAN 어댑터나 무선 LAN 어댑터가 처리할 수 있는 형태로 데이터를 변환하고, 이 변환된 데이터를 목적지까지 전달.
          • 이더넷 : 일반 금속 케이블이나 광케이블을 통해 데이터를 전달.
          • PPP : 사용자 인증 후에 원격지의 장비와 통신.
          • HTTP의 상태코드.
            • 100 대 : 정보 응답
              • 100 : 서버가 헤더를 받았고 바디가 올 것을 기다리고 있음.
              • 101 : 클라이언트가 서버에게 프로토콜을 변경하자고 요청했고, 서버도 수락.
            • 200 ~ : 성공 응답
              • 🚩200 : 요청이 성공적으로 완료 됨.
              • 201 : 요청이 성공했고, 새로 만들어진 URL 응답으로 보냈음
            • 300~ : 리다이렉션
              • 301 : 요청한 내용이 다른 경로로 옮겨졌음. 옮겨진 경로로 요청해야 함.
              • 302 : 요청된 리소스가 임시적으로 이동되었음. 향후에도 요청 주소는 변경하지 않고 사용하면 됨.
              • 304 : 요청한 내용은 갱신되지 않음.
            • 400 ~ : 클라이언트 응답 에러
              • 🚩400 : 잘못된 요청으로 서버가 이해를 할 수 없는 경우.
              • 403 : 요청한 내용은 접근 금지됨.
              • 🚩404 : 요청받은 리소스를 찾을 수 없음.
            • 500 ~ : 서버 에러 응답
              • 🚩500 : 서버 : 처리할 수 없는 내부 오류가 발생
  • 포트 번호의 범위.
    • 웰 노운 포트(Well-Known Ports)
      • 0 ~ 1023, 애플리케이션 계층에서 많이 사용되는 포트
      • 웰 노운 포트로 대응되는 프로토콜
        • 20 : FTP
        • 21 : FTP
        • 22 : SSH(원격 제어, 보안 기능이 있음.)
        • 23 : Telnet(원격 제어)
        • 25 : SMTP(이메일 전송)
        • 80 : HTTP(웹)
        • 110 : POP3(이메일 수신)
        • 143 : IMAP(이메일 수신, 보관기능 있음. )
    • 레지스터드 포트(Registered Ports)
      • 1024 ~ 49151, 벤더에서 할당받아 사용하는 포트
    • 다이나믹 포트(Dynamic Ports)
      • 49152 ~ 65535, 클라이언트 프로그램이 사용하는 포트
Comments