태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

지니넷

'전체'에 해당되는 글 447건

  1. 2009.06.08 파일 타입, 접근 허가 상수
  2. 2009.05.15 port type / vlan type
  3. 2009.05.12 window size
  4. 2009.05.12 service port number
  5. 2009.05.12 congestion control
  6. 2009.05.12 slow start & congestion avoidance
  7. 2009.05.12 TCP Keepalive Timer
  8. 2009.05.12 Sliding Window
  9. 2009.05.12 TCP Timeout and Retransmission
  10. 2009.05.12 Nagle Algorithm
<include/stat.h>

■ 파일 타입 상수

ID        Vlaue      Description
--------  -------    ---------------------------------------------------
S_IFMT    0170000    특수 파일을 나타내는 bit mask와 같은 역할을 한다
S_IFSOCK  0140000    socket interface
S_IFLINK  0120000    link
S_IFREG   0100000    일반 normal file
S_IFBLK   0060000    block device file
S_IFDIR   0040000    directory file
S_IFCHR   0020000    character device file
S_IFIFO   0010000    FIFO file
S_ISUID   0004000    setuid bit이 설정된 파일
S_ISGID   0002000    setgid bit이 설정된 파일
S_ISVTX   0001000    sticky bit이 설정된 파일


■ 접근 허가 상수

ID        Vlaue      Description
--------  -------    ---------------------------------------------------
S_IRWXU   0000700    owner에 대한 read, write, excute 권한
S_IRUSR   0000400    owner에 대한 read 권한
S_IWUSR   0000200    owner에 대한 write 권한
S_IXUSR   0000100    owner에 대한 excute 권한
--------  -------    ---------------------------------------------------
S_IRWXG   0000070    group에 대한 read, write, excute 권한
S_IRGRP   0000040    group에 대한 read 권한
S_IWGRP   0000020    group에 대한 write 권한
S_IXGRP   0000010    group에 대한 excute 권한
--------  -------    ---------------------------------------------------
S_IRWXO   0000007    other에 대한 read, write, excute 권한
S_IROTH   0000004    other에 대한 read 권한
S_IWOTH   0000002    other에 대한 write 권한
S_IXOTH   0000001    other에 대한 excute 권한

#define S_IRWXUGO   (S_IRWXU|S_IRWXG|S_IRWXO)
#define S_IALLUGO   (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
#define S_IRUGO     (S_IRUSR|S_IRGRP|S_IROTH)
#define S_IWUGO     (S_IWUSR|S_IWGRP|S_IWOTH)
#define S_IXUGO     (S_IXUSR|S_IXGRP|S_IXOTH)

저작자 표시
신고
Posted by 지니넷 Trackback 0 Comment 0

port type / vlan type

2009.05.15 09:49 : 네떡
■ Promiscuous Port
◇ 모든 port(isolated, community)와 통신이 가능하다.
◇ 보통 uplink port로 사용한다.

■ Isolated Port
◇ promiscuous port와만 통신이 가능하고 다른 isolated port와는 통신이 불가능하다.

■ Community Port
◇ isolated port를 모아 그룹화한 것으로 community 그룹간 그리고 promiscuous port와 통신이 가능하다.
◇ 다른 isolated port 또는 다른 community 그룹과는 통신이 불가능하다.




■ Primary vlan
promiscuous port와 isolated, community, 다른 promiscuous와 통신이 가능하다

■ Isolated vlan
◇ 오직 promiscuous port와 통신이 가능하다.


■ Community vlan
◇ promiscuous port, 같은 community vlan간에 통신이 가능하다.


Shared VLAN (Overlap VLAN)과 같은 개념 아닌가?






저작자 표시
신고
Posted by 지니넷 Trackback 0 Comment 0

window size

2009.05.12 17:48 : 네떡
window size
윈도우 필드는 흐름제어를 구현하기 위해 수신자에게 사용된다.
수신 TCP는 송신 TCP에게 'window'를 보고한다.
이 window는 수신 TCP가 현재 수신하기 위해 준비해 놓은 Octet 수를 지정한다.
최소 1까지 줄어 드는데 이 상태를 SWS(Silly Window Syndrome)이라고 한다.

TCP checksum

urgent point
이 필드는 URG Flag가 설정된 세그먼트에 있어서만 의미를 지닌다.
이 수치는 그 세그먼트 sequence number에서의 상대위치이다.

option

padding
16비트의 배수로 만들기 위해 사용(0으로 채워진다.)






저작자 표시
신고
Posted by 지니넷 Trackback 1 Comment 0

service port number

2009.05.12 17:42 : 네떡
service port number
일반적으로 클라이언트는 자신이 사용하는 포트넘버가 무엇인가를 신경쓰지 않는다.
클라이언트 포트넘버들은 ephemeral 포트라고 불린다.
대부분의 TCP/IP 실행은 1024와 5000사이의 ephemeral 포트넘버들을 할당한다.
well-known port number by IANA

destination port number
서버들은 일반적으로 well-known 포트넘버에 의해 인식된다.
TCP/IP의 어떤 실행에 의해 제공되는 이러한 서비스들은 1과 1023 사이의 well-known 포트 넘버들을 가진다.

sequence number
ISN(Initial Sequence Number) 초기 값.
첫 데이터는 ISN+1이 SN이 됨(SYN이 처음)

ACK field
TCP에서는 한번에 전송하는 데이터 단위를 세그먼트라고 정의하고 있다.
TCP는 세그먼트를 송신해야 할 때, 그 세그먼트의 복사본을 전송 큐에 넣고 타이머를 가동한다.
타이머가 만료되기 전에 그 데이터의 ACK가 수신되면 파기되며, 그렇지 않으면 송신 큐의 그 복사본으로부터 다시 송신된다.
Ack를 보내는 쪽이 받고자 하는 SN. 보통 마지막으로 받은 SN+1

header len
옵션까지의 길이.
TCP 옵션이 없으면 20octet, 최대 60까지 가능함.





저작자 표시
신고
Posted by 지니넷 Trackback 0 Comment 0

congestion control

2009.05.12 17:18 : 네떡
TCP congestion control mechanism

TCP slow start 상태에 있건, congsetion avoidance 상태에 있건 connection이 유지되는 한, cwnd는 계속 증가하여 언젠가는 congestion 상태에 도달한다.
RTO (retransmission timeout) 발생 할 때까지 ACK를 수신하지 못하면 ssthresh 값을 cwnd의 절반으로 설정하고 cwnd는 1 MSS(Maximum Segment Size)로 재전송 시작
이후 slow start와 congestion avoidance 기능을 되풀이
TCP 송신원이 RTO 타임아웃 이전에 ACK 수신할 때
    if CWND < ssthresh  ==> CWND *= 2
    if CWND > sstrhesh  ==> CWND += 1
TCP 송신원이 RTO 타임아웃 이전에 ACK 수신하지 못할 때
    ssthresh = CWND / 2
    CWND = 1


global synchronization

TCP congestion control mechanism으로 인해 발생
    PC1
       \
        \
    PC2-- SW -- R
        /
       /
    PC3
동시에 모든 PC들이 인터넷에 접속하게 되면 TCP slow start와 congestion avoidance 동작에 의해 라우터 큐에는 buffer full 발생 (congestion)
ACK를 받지 못한 PC들은 congestion control mechanism으로 slow start와 congestion avoidance 동작을 반복
역시 라우터 buffer full 발생
이 과정이 반복





저작자 표시
신고
Posted by 지니넷 Trackback 0 Comment 0
TCP slow start

현재 연결이 어느 정도의 전송 속도를 수용할 수 있는지 파악하는 mechanism
송신원은 초기 cwnd(congestion window)를 1로 설정해 패킷 1을 전송한다. (실제 TCP는 바이트 단위로 동작)
해당 패킷에 대해 ACK를 받으면 cwnd 값을 2배 증가시켜 패킷을 전송한다.
slow라는 말과는 달리 window 사이즈는 지수적으로(exponentially) 빠르게 증가


TCP congestion avoidance

slow start 상태에서 윈도우가 지수적으로 증가해 ssthresh(slow-start-threshold) 값과 같아지면 TCP 혼잡 회피가 시작된다. (초기 ssthresh 값은 64K로 설정됨)
TCP 혼잡 회피 상태에서는 하나의 ACK에 대해 cwnd값을 1씩 증가시킨다.
slow start에 비해 훨씬 느린 속도로 증가되므로 혼잡 회피 기능을 한다.





저작자 표시
신고
Posted by 지니넷 Trackback 0 Comment 0

TCP Keepalive Timer

2009.05.12 15:04 : 네떡
서버와 클라이언트간에 TCP 연결이 이루어지면, 클라이언트측에서 접속을 끝내는 FIN 신호를 보낼 때에만 접속이 해제된다. 만약에 intermediate router가 crash 혹은 reboot되거나 선로가 down 되어도, 서버는 reboot하지 않는 이상 이러한 상황을 알아낼 방법이 없으므로 connection은 유지된다. 이와 같은 상태를 Half open connection이라고 한다.
Keepalive timer는 서로 연결된 호스트간의 connection이 여전히 유효한지, 즉 half open connection 상태가 아닌지 점검하기 위하여 사용되는 타이머이다.
Keepalive option은 주로 server쪽에 설정되며 주기는 서버에서 정하기 나름이다. 만일 주어진 timer동안 activity가 없으면 client로 probe를 보낸 후 response를 받지 못하면 connection을 종료한다.





신고
Posted by 지니넷 Trackback 0 Comment 0

Sliding Window

2009.05.12 15:02 : 네떡
일반적으로 round trip time(RTT)가 긴 경우 stop-and-wait 프로토콜 방식은 상당한 망 대역폭을 낭비하게 된다. 하지만 다량의 데이터를 전송하는 FTP같은 서비스의 경우 이런 방식을 사용하게 되면 휴지시간이 많아서 전송지연을 초래하게 된다.
TCP는 네트워크 상에서의 데이터 처리량을 극대화하기 위해 ACK가 도착하기 이전에도 수신측이 정해준 양만큼의 패킷을 연속 송신할 수 있도록 허용하는 방식을 Sliding Window 방식이라고 한다.





신고
Posted by 지니넷 Trackback 0 Comment 0
TCP는 신뢰성 있는 전송 계층을 제공하기 위해 timeout이 다 지나도 ACK가 도착하지 않으면 재전송 요구를 한다. 이 기능에서 timeout의 시간간격은 얼마로 정하고, 재전송 요구는 몇회나 할 것인가?




신고
Posted by 지니넷 Trackback 0 Comment 0

Nagle Algorithm

2009.05.12 14:56 : 네떡
Interactive 데이터들은 대다수가 1byte 길이의 데이터로 구성된다. Round-trip이 큰 망에서 이러한 패킷들이 전송될 경우, TCP와 IP 헤더 각각 20byte씩 40byte를 사용하면서도 겨우 1byte의 데이터를 전송하므로 망의 자원을 낭비하는 결과를 가져온다. Stop-and-wait 방식으로 동작시, ACK를 받기 전까지는 한 문자만 송신할 수 있다. 하지만 ACK가 올 때까지 입력되는 여러 개의 문자들을 모아 하나의 패킷으로 구성하여 송신할 수 있도록 하면 한 바이트씩 송신하는 것 보다 효율적으로 송신할 수 있는데 이것을 허용하는 것이 Nagle Algorithm이다. 결과적으로 round-trip time(RTT)이 짧아서 ACK가 빨리오면 소량의 문자로 구성된 패킷을 자주 송신하게 되고, 느리게 오면 그동안 모아졌던 문자들을 한꺼번에 송신하므로 송신패킷의 개수가 줄어드는 self-clocking 동작이 수행된다.




신고
Posted by 지니넷 Trackback 0 Comment 0


티스토리 툴바