|
|
1.1 root 1: .PS 8i
2: .ps 20
3: boxwid = 2*boxwid
4: define boxit @
5: box "$1" with .n at ($2.s.x, $2.s.y-lineht/2)
6: line from $2.s to last box.n
7: @
8: define peer @
9: box "$1" with .n at ($3.s.x, $3.s.y-lineht/2)
10: line from $3.s to last box.n
11: line $4 from $2.e to last box.w
12: @
13: ## figure 2
14: B1: box "\xx APPL-$\alpha$"
15: B2: boxit(\xx PRESENTATION,B1)
16: B3: boxit(\xx SESSION,B2)
17: B4: box "\xx TRANSPORT" with .n at (B3.s.x, B3.s.y-lineht/2)
18: line from B3.s to B4.n
19: ##
20: P1: box "\xx APPL-$\alpha$" with .w at (B1.e.x+2*linewid, B1.e.y)
21: line dashed from B1.e to P1.w
22: P2: peer(\xx PRESENTATION,B2,P1,dashed)
23: P3: peer(\xx SESSION,B3,P2,dashed)
24: P4: box "\xx TRANSPORT" with .n at (P3.s.x, P3.s.y-lineht/2)
25: line from P3.s to P4.n
26: line from B4.e to P4.w
27: ##
28: C1: box "\xx APPL-$\gamma$" with .w at (P1.e.x+linewid, P1.e.y)
29: C2: box invis with .n at (C1.s.x, C1.s.y-lineht/2)
30: line from C1.s to C2.n
31: C3: box invis with .n at (C2.s.x, C2.s.y-lineht/2)
32: C4: box invis with .n at (C3.s.x, C3.s.y-lineht/2)
33: ##
34: Q1: box "\xx APPL-$\gamma$" with .w at (C1.e.x+2*linewid, C1.e.y)
35: line dashed from C1.e to Q1.w
36: Q2: box invis with .n at (Q1.s.x, Q1.s.y-lineht/2)
37: line from Q1.s to Q2.n
38: Q3: box invis with .n at (Q2.s.x, Q2.s.y-lineht/2)
39: Q4: box invis with .n at (Q3.s.x, Q3.s.y-lineht/2)
40: ##
41: Z1: box with .nw at C2.nw width (Q2.ne.x-C2.nw.x) \
42: height (C2.nw.y-C4.sw.y) \
43: "OTHER STACK"
44: ##
45: G1: box "APPLICATION" "" "GATEWAY" \
46: with .sw at (P1.nw.x, P1.nw.y+lineht) \
47: height 2*boxht width C1.ne.x-P1.nw.x
48: line up from P1.n
49: line up from C1.n
50: line dashed from (G1.s.x, G1.s.y-lineht/2) \
51: to (G1.s.x, C4.s.y-lineht/2)
52: ##
53: G2: box with .nw at (P4.sw.x, P4.sw.y-lineht) \
54: width C4.se.x-P4.sw.x height boxht/6 shaded
55: move to (G2.s.x, G2.s.y-lineht/2); "GATEWAY HOST"
56: move to ((B4.s.x+P4.s.x)/2, B4.s.y-lineht/2); "OSI"
57: move to ((C4.s.x+Q4.s.x)/2, C4.s.y-lineht/2); "non-OSI"
58: ##
59: .PE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.