패킷(Packet) 과 프레임(Frame)은 네트워크에서 사용되는 데이터 단위이지만, 사용되는 OSI 계층이 다르고 차이가 있습니다.

 

패킷(Packet) 과 프레임(Frame) 비교

  패킷 프레임
위치 OSI 3 계층 네트워크 계층 OSI 2계층 데이터링크 계층
역할 데이터를 네트워크를 통해 전달하기 위한 단위 데이터를 동일 네트워크 내에 다른 장치로 전달하기 위한 단위
주소 체계 IP 주소 사용 MAC 주소 사용
구성요소 - 헤더(Header)
    IP 주소(출발지와 목적지), 패킷의 크기,
    프로토콜 정보 등

- 데이터(Data)
   전송될 실제 데이터(페이로드)
- 헤더(Header)
   출발지와 목적지의 MAC 주소, 프레임 유형,
    제어 정보 등이 포함됩니다.

- 데이터(Data) 
   상위 계층에서 전달된 데이터(예: 패킷).

- 트레일러(Trailer)
   데이터의 무결성을 확인하기 위한 오류 검출 정보
    (FCS, Frame Check Sequence) 등이 포함

  
설명 전송 계층(OSI 4계층)에서 전달된 세그먼트(segment)에 네트워크 계층의 헤더(IP 헤더)를 추가하여 만들어집니다.  네트워크 계층(OSI 3계층)에서 전달된 패킷에 데이터 링크 계층의 헤더와 트레일러를 추가하여 만들어집니다.
     

 

컴퓨터 네트워크는 무엇인가요?

답변

더보기

데이터를 교환하고 리소스를 공유할 목적으로 서로 연결된 컴퓨팅 장치들의 시스템입니다. 

이를 통해 컴퓨터는 한 장치에서 다른 장치로 협업하고, 데이터를 전송하고, 파일,  프린터와 같은 공유 정보에 액세스할 수 있습니다.

컴퓨터 네트워크에서 데이터를 전송하는 방식에 대해 설명해주세요.

답변

더보기

통신 프로토콜이라고 하는 규칙 시스템을 사용하여 물리적 또는 무선 기술을 통해 정보를 전송합니다.

 

프로토콜에 대해서 설명해주세요.

답변

더보기

서로 다른 장치가 통신하는 방법을 규정하는 일련의 규칙입니다.

이러한 규칙은 데이터가 어떻게 패키징(형식지정)되고, 전송되며, 수신되는지를 정의합니다.

TCP/IP 에 대해서 설명해주세요.

답변

더보기

4. 애플리케이션, 3.트랜스포트, 2.인터넷, 1.네트워크 액세스
총 4계층으로 구성된 실용성에 중점을 둔 프로토콜입니다.

이는 OSI 7 계층을 개발자가 고려해야할 부분과 네트워크 엔지니어가 고려해야할 부분을 현실에 쉽게 반영하도록 간단하게 만든 프로토콜 스택입니다.

OSI 7 Layer에 대해서 설명해주세요.

답변

더보기

네트워크 통신을 7개의 계층으로 나누어 설명하는 표준 참조 모델입니다.

7. 애플리케이션

6. 프레젠테이션

5. 세션

4. 트랜스포트

3. 네트워크

2. 데이터링크

1. 피지컬(물리)

로 구성되어 있습니다.

OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유가 뭘까요?

답변

더보기

네트워크 통신 규칙을 표준화 하여서 서로 다른 장치나 시스템들이 호환될 수있도록 하기 위해서 입니다.

또한, 각 계층을 분리하여 독립적으로 설계하여 서로 영향을 받지 않도록 하고 유지보수에 용이하도록 하기 위함입니다. 

컴퓨터 네트워크에서 캡슐화와 비캡슐화에 대해서 설명해주세요.

답변

더보기

캡슐화는 데이터를 송신자가 네트워크를 통해 보낼 수 있도록 계층별로 헤더를 추가하여 패키징하는 과정입니다.  이는 OSI 7 계층에서 하향식 과정입니다.

예를 들면, 우리가 우편으로 편지를 보낼 메세지를 우편봉투로 포장하고 우편물을 전달하기 위한 추가 정보를 입력하여 보내는 것과 같습니다.

비캡슐화는 캡슐화는 수신된 데이터에서 각 계층이 추가한 헤더 정보를 제거하고 원래의 데이터를 복원하는 과정입니다. 이는 OSI 7 계층에서 상향식 과정입니다. 예를 들면, 우편물을 받은 사람이 편지를 꺼내어서 내용을 읽는 것과 같습니다.

NIC 와 리피터에 대해서 설명해주세요.

답변

더보기

랜 카드라고 불리우는 NIC는  컴퓨터를 네트워크에 연결하여 데이터를 송수신할 수 있도록 해주는 하드웨어 장치이며, NIC 는 고유한 MAC 주소를 가지고 있습니다. 이는 OSI 2계층 데이터링크 계층에서 작동합니다.

 

리피터는 네트워크 신호를 증폭하고 재생하여 전송 거리를 늘리는 장치입니다. 이는 OSI 1계층 피지컬 계층에서 작동합니다.

브리지에 대해서 설명해주세요.

답변

더보기

두 개 이상의 네트워크 세그먼트를 연결하고, 네트워크 트래픽을 관리하는 하드웨어 장치입니다. MAC 주소를 확인하여 데이터를 해당 세크먼트로 전달해주는 역할도 합니다. 이는 OSI 2계층인 데이터링크 계층에서 작동합니다.

L2 스위치에 대해서 설명해주세요.

답변

더보기

스위치는 여러 장비를 연결하고 통신을 중재하는 OSI 2계층 데이터링크 에서 작동하는 네트워크 장치입니다. 

스위치는 목적지 MAC 주소 기반 프레임 전달을 하며, 각 포트를 독립적인 충돌 도메인으로 처리하여 포트 간의 데이터 충돌을 방지합니다.

라우터에 대해서 설명해주세요.

답변

더보기

라우터는 OSI 3 계층 네트워크에서 동작하는 장치이고, 먼 거리로 통신할 수 있는 프로토콜로 변환합니다.

 

라우터는 서로 다른 네트워크를 연결하고, 이들 네트워크 간에 데이터를 전달하는 역할을 하는 네트워크 장치입니다. 라우터는 주로 OSI 3 계층 네트워크에서 동작하며, IP 주소를 기반으로 최적의 경로를 선택하여 네트워크 패킷을 목적지로 전달합니다.

L3 스위치에 대해서 설명해주세요.

답변

더보기

L3 스위치는 OSI 3계층(네트워크 계층)에서 동작하는 스위치입니다. 

L2 스위치의 빠른 패킷 전달 기능과 라우터의 네트워크 간 연결 기능을 모두 갖추고 있습니다.

L7 스위치에 대해서 설명해주세요.

답변

더보기

L7 스위치는 OSI 7 계층에서 트래픽을 애플리케이션 계층에서 처리하고 관리하는 기능을 제공하는 네트워크 장비입니다.  주요 기능으로 OSI 7 계층의 정보인 HTTP 헤더, 쿠키, URL 를 기반으로 트래픽을 분배(로드 밸런싱)하고  이 정보를 활용하여 알맞은 서버로 라우팅( 콘텐츠 스위칭)을 합니다.

LAN과 WAN에 대해서 설명해주세요.

답변

더보기

LAN은 짧은 거리 내에서 높은 속도로 장치들을 연결하는 네트워크로, 가정, 학교, 회사 등에서 사용됩니다. WAN은 넓은 범위에 걸쳐 여러 LAN을 연결하는 네트워크로, 인터넷과 같이 장거리 네트워크 연결에 사용됩니다.

 

 

Mutex 와 Semaphore 는 모두 병행성 프로그래밍에서 상호배제를 달성하는 도구

  1. Mutex (뮤텍스):
    • 한 번에 하나의 스레드만이 자원에 접근할 수 있도록 하는 동기화 메커니즘입니다.
    • 이는 보통 크리티컬 섹션을 보호하거나 공유 자원에 대한 접근을 제어할 때 사용됩니다.
    • Mutex는 잠금을 획득한 스레드만이 해당 자원을 사용할 수 있도록 합니다
  2. 세마포어 (Semaphore):
    • 동시에 여러 스레드가 자원에 접근할 수 있는 허용 개수를 지정할 수 있는 동기화 기법입니다.
    • Counting Semaphore 과 Binary Semaphore로 나뉘며, Counting Semaphore은 여러 자원을 제어할 수 있습니다.
    • Semaphore는 초기값과 현재 값을 비교하여 스레드의 접근을 허용하거나 차단합니다

두 기법의 주요 차이

  • Mutex : 단일 자원에 대한 접근을 보호
  • Semaphore: 동시 접근 허용의 유연성을 제공

'컴퓨터 공학 > 운영체제' 카테고리의 다른 글

[OS] 경쟁상태 (Race Condition)  (1) 2024.06.19
[ OS ] 문맥교환 (context switch)  (0) 2024.06.18
[ OS ] 시스템 콜 (system call)  (0) 2024.06.18

 공유 자원에 대해 두개 이상의 프로세스가 동시에 접근을 시도할 때 접근의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태

→실행순서에 따라 결과값이 달라질수 있는 상태

 

경쟁상태에서 직면할 수 있는 문제

Mutual exclusion(상호배제) 위반 문제

  • 자원은 한 번에 하나의 프로세스 또는 스레드만이 사용할 수 있어야 한다.

deadlock (교착상태)

  • 멀티프로세스나 멀티스레드 환경에서 발생할 수 있는 상황으로, 각 프로세스 또는 스레드가 서로가 가지고 있는 자원을 점유한 채로 다른 프로세스 또는 스레드가 필요로 하는 자원을 기다리는 상태를 말합니다
  • 각 프로세스가 서로 필요로 하는 자원을 점유한 채 대기 상태에 빠진상태

starvation(기아상태)

  • 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리다가 끊임없이 필요한 컴퓨터 자원을 가져오지 못하는 상황을 말합니다.
  • 특정 프로세스가 필요한 자원을 영원히 할당받지 못하여 작업을 진행하지 못하는 상태

예방 방법

두 개 이상의 프로세스가 동시에 하나의 자원을 사용할 수 없도록 막아야한다.

이를 실현하기 하기 위한 방법으로  Mutex (Mutual Exclusion) 와 Semaphore(세마포어) 가 있다.

  • Mutex : 공유된 자원의 데이터를 여러 스레드가 접근하는 것을 막는 방법
  • Semaphore: 공유된 자원의 데이터를 여러 프로세스가 접근하는 것을 막는 것, 하나의 스레드만 들어가게 할 수도 있고 여러 개의 스레드가 들어가게 할 수 있다

'컴퓨터 공학 > 운영체제' 카테고리의 다른 글

[ OS ] 세마포어 와 뮤텍스  (0) 2024.06.19
[ OS ] 문맥교환 (context switch)  (0) 2024.06.18
[ OS ] 시스템 콜 (system call)  (0) 2024.06.18

하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스의 상태(문맥)를 보관하고 새로운 프로세스의 상태를 적재하는 작업을 말한다. 

- 한 프로세스의 상태는 프로세스 제어 블록 (PCB, process controll block)에 저장되어 있다.

- 문맥을 교환하는 동안 유용한 작업을 수행할 수 없기 때문에  너무 빈번한 문맥교환은 큰 오버헤드가 발생한다.

 

*프로세스 제어 블록 : 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조

*오버헤드 : 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 

 

Switching cases

- 멀티테스킹

- 인터럽트 처리

- 사용자 모드와 커널 모드 간 전환

 

 

 

참고자료

https://ko.wikipedia.org/wiki/%EB%AC%B8%EB%A7%A5_%EA%B5%90%ED%99%98

'컴퓨터 공학 > 운영체제' 카테고리의 다른 글

[ OS ] 세마포어 와 뮤텍스  (0) 2024.06.19
[OS] 경쟁상태 (Race Condition)  (1) 2024.06.19
[ OS ] 시스템 콜 (system call)  (0) 2024.06.18

+ Recent posts