More Related Content Similar to IL: 失われたプロトコル (20) More from Ryousei Takano (20) IL: 失われたプロトコル1. IL:
oraccha
Plan9 http://d.hatena.ne.jp/oraccha/
2010 5 8 VM
2. Ken Thompson
Q UNIX
A creat(2) ”e”
Ask a google engineer. Ken Thompson,
http://www.google.com/moderator/#15/
e=7f3&t=7f3.44&f=7f3.5046
6. rx(1):
• Usage: rx machine command arg...
plug
% rx plug echo 1 2 3 | sed s/1/x/
x23
% echo 1 2 3 | rx plug sed s/1/x/
cpu(1)
7. rx(1) over IL
• rx close
0 write EOF
TCP 0 write
% echo 1 2 3 | rx il!plug!17009 sed s/1/x/
x23
% echo 1 2 3 | rx il!plug!17009 sed s/1/x/ |
sed s/2/y/
xy3
8. TCP
• TCP
• shutdown(2)
• rsh EOF
• Plan 9 ... orz
10. IL
•
• /n/sources/extra/il.c
• http://lufia.org/plan9/doc/inst/il.html
• ndb/cs.c
cpu% diff cs.c.orig cs.c
164a165
>
{ "il",
iplookup,
iptrans,
},
1
11. • TCP
•
• IL SCTP DCCP
• L4
•
SCTP: Stream Control Transport Protocol
DCCP: Data Congestion Control Protocol
12. Ken Thompson
Q Plan 9
A OS
Ask a google engineer. Ken Thompson,
http://www.google.com/moderator/#15/
e=7f3&t=7f3.44&f=7f3.5046
14. IL/IP
0 31
Header
Version length TOS Length
Identifier 0 DF MF Fragment offset
TTL Protocol Header checksum
Source IP address
Destination IP address
IL checksum Packet length
Packet type Special Source port
Destination port Sequence id
Sequence id (cont.) Acked sequence
Acked sequence (cont.) -
16. write(2) read(2)
ip/devip.c ipwrite ipread
wq rq
ip/il.c ilkick iliput
ip/ip.c ipoput4 ipiput4
ip/ethermedium.c etherbwrite etherread4
etherbwrite
pc/devether.c etheroq
in
oq
etheriq
pc/etherxxxx.c transmit interrupt