|
|
1.1 root 1: .PS
2: .ps 20
3: ## figure A-15
4:
5: boxwid = 2*boxwid
6:
7: B1: box "user"
8: B2: box with .n at (B1.s.x,B1.s.y-boxht) width 1.5*boxwid height 5*boxht
9: B3: box "user" "application" \
10: with .n at (B2.n.x,B2.n.y-(boxht/3)) width 1.25*boxwid height 1.5*boxht
11: B4: box "presentation" with .sw at B2.sw width 1.5*boxwid
12: B5: box "rtse" with .e at (B3.e.x,B3.se.y-(B3.se.y-B4.nw.y)/2) \
13: width 1.25*boxwid height .75*boxht
14: B6: box invis "$\ldots$" with .nw at B2.sw width 1.5*boxwid
15: ##
16: L1: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B1.s.y) \
17: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B3.n.y)
18: L2: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B1.s.y) \
19: to (B1.se.x-(B1.se.x-B1.s.x)/2,B3.n.y)
20: L3: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B3.s.y) \
21: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B5.n.y)
22: L3a: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B5.s.y) \
23: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B4.n.y)
24: L4: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B3.s.y) \
25: to (B1.se.x-(B1.se.x-B1.s.x)/2,B5.n.y)
26: L5: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B5.s.y) \
27: to (B1.se.x-(B1.se.x-B1.s.x)/2,B4.n.y)
28:
29:
30:
31:
32: #B1: box "user" width 3*boxwid
33: #B2: box "PCI" with .ne at (B1.sw.x, B1.sw.y-lineht)
34: #B3: box "PDU" with .nw at (B2.sw.x, B2.sw.y-lineht) width 4*boxwid
35: # line from B1.s to (B1.s.x, B3.n.y)
36: # line from B2.s to (B2.s.x, B3.n.y)
37: #B4: box "ICI" with .e at B3.w dashed
38: #B5: box "IDU" with .nw at (B4.sw.x, B4.sw.y-lineht) width 5*boxwid dashed
39: #B6: box "ICI" with .nw at (B5.sw.x, B5.sw.y-lineht) dashed
40: #B7: box "SDU" with .w at B6.e width 4*boxwid
41: ###
42: # line dashed from B5.e to (B5.e.x+3*linewid, B5.e.y)
43: # move to (B5.e.x+3*linewid, B5.n.y); "layer-N" rjust
44: # line dashed from B5.w to (B5.w.x-3*linewid, B5.w.y)
45: # move to (B5.e.x+3*linewid, B5.s.y); "layer-(N-1)" rjust
46: ##
47: .PE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.